未经许可将 cd 放入目录

cding 进入名为 openfire的目录时,返回以下错误:

bash: cd: openfire: Permission denied

还有别的办法吗?

289227 次浏览

你有几个选择:

  • 使用不同的用户帐户,一个对该目录具有 execute 权限的帐户。
  • 更改目录上的权限以允许用户帐户 execute 权限。
    • 使用 chmod(1)更改权限或
    • 使用 setfacl(1)命令为用户帐户添加访问控制列表条目。(这还需要使用 acl选项挂载文件系统; 有关 mount 参数的详细信息,请参阅 mount(8)fstab(5)。)

如果不了解更多有关问题的信息,就不可能建议正确的方法; 为什么目录权限是这样设置的?你为什么需要访问那个目录?

如果它是您拥有的目录,请允许自己访问它:

chmod u+rx,go-w openfire

它授予你使用目录和目录中的文件(x)的权限,并列出目录中的文件(r) ; 它还拒绝 group 和其他人对目录的写权限,这通常是正确的(尽管有时你可能希望允许 group 在你的目录中创建文件——但是如果你这样做了,可以考虑在目录中使用粘贴位)。

如果它是其他人的目录,您可能需要所有者的一些帮助来更改权限,以便您可以访问它(或者您需要来自 root的帮助来更改您的权限)。

除非你有 sudo 权限来改变它或它在你自己的用户组/帐户,否则你将无法进入它。

有关更改目录权限的详细信息,请参阅终端中的 man chmod

输入超级用户模式,并将 cd 放入不允许您进入的目录。Sudo 需要管理员密码。

sudo su
cd directory

@ user812954的回答非常有帮助,除了我必须分两步来做这件事:

sudo su
cd directory

然后,要退出“超级用户”模式,只需键入 exit

chmod +x openfire为我工作。它增加了执行权限的文件夹开火。

或者,你可以:

sudo -s
cd directory

我知道这篇文章很老了,但是在 Linux 机器上我必须做的是:

Sudo chmod + x 目录