未经许可进入目录

问题描述 投票:0回答:8

cd
进入我的一个名为
openfire
的目录时,会返回以下错误:

bash: cd: openfire: Permission denied

有什么办法可以解决这个问题吗?

linux unix permissions directory
8个回答
245
投票

@user812954 的回答非常有帮助,但我必须分两步完成:

sudo su
cd directory

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

exit


203
投票

进入超级用户模式,cd到你无权进入的目录。 Sudo 需要管理员密码。

sudo su
cd directory

77
投票

如果它是您拥有的目录,请授予自己访问权限:

chmod u+rx,go-w openfire

这将授予您使用该目录及其中的文件的权限 (

x
) 并列出其中的文件 (
r
);它还拒绝组和其他人对该目录的写入权限,这通常是正确的(尽管有时您可能希望允许组在您的目录中创建文件 - 但如果这样做,请考虑在目录上使用粘滞位)。

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

root
的帮助来更改您的权限)。


36
投票

chmod +x openfire
为我工作。它为 openfire 文件夹添加了执行权限。


27
投票

或者,您可以这样做:

sudo -s
cd directory

10
投票

您有多种选择:

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

如果不进一步了解问题,就不可能提出正确的方法;为什么目录权限如此设置?为什么需要访问该目录?


4
投票

我知道这篇文章已经很旧了,但是对于 Linux 机器上的上述答案,我必须做的是:

sudo chmod +x目录


2
投票

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

查看终端中的

man chmod
,了解有关更改目录权限的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.