没有权限就进入目录

use*_*954 95 unix linux directory permissions

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

bash: cd: openfire: Permission denied
Run Code Online (Sandbox Code Playgroud)

有没有办法解决?

Jon*_*han 127

@ user812954的回答非常有用,除了我必须分两步完成这个步骤:

sudo su
cd directory
Run Code Online (Sandbox Code Playgroud)

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


use*_*954 82

进入超级用户模式,然后进入您未经许可进入的目录.Sudo需要管理员密码.

sudo su
cd directory
Run Code Online (Sandbox Code Playgroud)

  • 完美的答案! (2认同)

Jon*_*ler 42

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

chmod u+rx,go-w openfire
Run Code Online (Sandbox Code Playgroud)

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

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


wcy*_*cyn 21

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


小智 14

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

sudo -s
cd directory
Run Code Online (Sandbox Code Playgroud)


sar*_*old 6

你有几个选择:

  • 使用其他用户帐户,其中一个帐户具有x该目录的执行权限.
  • 更改目录的权限以允许您的用户帐户x执行权限.
    • 或者使用chmod(1)更改权限或
    • 使用此setfacl(1)命令为您的用户帐户添加访问控制列表条目.(这也需要与安装文件系统acl选项;请参阅mount(8)fstab(5)有关安装参数的详细信息.)

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