以下是目录列表:
drwxrwSr--. 31 storage storage 4096 Nov 20 23:12 storage
id
返回uid=501(peter) gid=501(peter) groups=501(peter),504(office),505(www),506(storage),507(media)
看起来还好吗?但是当我尝试输入这个时,我得到了
-bash: cd: storage: Permission denied
我究竟做错了什么?
我想让storage
每个人都可以访问(读取)目录,并且只允许来自该组的用户写入。我还希望默认情况下storage
使用组创建新文件storage
答案1
如果你的目录没有全局执行权限,那么不是每个人都可以读取,所以首先你需要
$ sudo chmod o+x storage
此外,我不知道大写 S 模式是什么意思,从来没有见过这样的模式,但我认为这就是你的问题所在;setuid 位应该是小写的 s。如果那是粘性位,请将其删除并将其设置为正常:
$ sudo chmod 0775 storage
(如果你能以以下身份登录,则不需要 Sudo贮存)。
// 编辑 要使新文件默认属于存储组,您需要添加 setuid 位。
$ sudo chmod g+s storage
导致问题的另一个原因可能是虽然id
给出了正确的输出,但您的 shell 并未更新。如果您在此会话中将自己添加到存储组,请确保注销并重新登录,以使您的 shell 了解更改。