166

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

bash: cd: openfire: Permission denied

有没有办法解决?

4

8 回答 8

195

@user812954 的回答非常有帮助,但我必须分两步执行此操作:

sudo su
cd directory

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

于 2013-07-05T20:21:07.350 回答
159

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

sudo su
cd directory
于 2011-11-22T22:09:22.967 回答
64

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

chmod u+rx,go-w openfire

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

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

于 2011-11-22T04:14:58.787 回答
29

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

于 2014-07-02T10:34:50.760 回答
17

或者,您可以执行以下操作:

sudo -s
cd directory
于 2020-03-09T04:47:19.837 回答
9

你有几个选择:

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

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

于 2011-11-22T04:04:18.867 回答
1

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

在终端中查看man chmod有关更改目录权限的更多信息。

于 2011-11-22T04:25:50.323 回答
1

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

sudo chmod +x 目录

于 2020-11-04T09:28:02.233 回答