当
cd
进入我的一个名为 openfire
的目录时,会返回以下错误:
bash: cd: openfire: Permission denied
有什么办法可以解决这个问题吗?
@user812954 的回答非常有帮助,但我必须分两步完成:
sudo su
cd directory
然后,要退出“超级用户”模式,只需键入
exit
。
进入超级用户模式,cd到你无权进入的目录。 Sudo 需要管理员密码。
sudo su
cd directory
如果它是您拥有的目录,请授予自己访问权限:
chmod u+rx,go-w openfire
这将授予您使用该目录及其中的文件的权限 (
x
) 并列出其中的文件 (r
);它还拒绝组和其他人对该目录的写入权限,这通常是正确的(尽管有时您可能希望允许组在您的目录中创建文件 - 但如果这样做,请考虑在目录上使用粘滞位)。
如果是其他人的目录,您可能需要所有者的帮助来更改权限,以便您可以访问它(或者您需要
root
的帮助来更改您的权限)。
chmod +x openfire
为我工作。它为 openfire 文件夹添加了执行权限。
或者,您可以这样做:
sudo -s
cd directory
您有多种选择:
x
ecute 权限。x
ecute 权限。
chmod(1)
更改权限或setfacl(1)
命令为您的用户帐户添加访问控制列表条目。 (这还需要使用 acl
选项挂载文件系统;有关挂载参数的详细信息,请参阅 mount(8)
和 fstab(5)
。)如果不进一步了解问题,就不可能提出正确的方法;为什么目录权限如此设置?为什么需要访问该目录?
我知道这篇文章已经很旧了,但是对于 Linux 机器上的上述答案,我必须做的是:
sudo chmod +x目录
除非您有 sudo 权限来更改它或其在您自己的用户组/帐户中,否则您将无法进入它。
查看终端中的
man chmod
,了解有关更改目录权限的更多信息。