群组成员无法在文件夹中创建文件/目录

MrS*_*ess 7 linux centos permissions file-permissions

我正在尝试设置我的 Linux 服务器,但此时我陷入了困境:

  1. 我创建了一个名为“gitusers”的组并向其中添加了一个用户(我们称他为“foo”)
  2. 我创建了一个名为“网站”的文件夹
  3. 我将 'gitusers' 设置为 'website' 组并将其 chmod 为 775
  4. 我以“foo”身份登录,但 mkdir 仅返回“权限被拒绝”错误

问:为什么会发生这种情况以及如何解决?

笔记:

我浏览到“网站”并执行了以下操作ls -al

ls -al
total 8
drwxrwxr-x. 2 root gitusers 4096 Oct 24 22:39 .
drwxr-xr-x. 3 root root     4096 Oct 24 22:39 ..
Run Code Online (Sandbox Code Playgroud)

如您所见,当前文件夹的组是“gitusers”

但我仍然收到权限错误:

mkdir test
mkdir: cannot create directory `test': Permission denied
Run Code Online (Sandbox Code Playgroud)

Mae*_*edy 7

如果该组刚刚创建,则用户必须重新登录才能应用该组的权限。

扩展唯一的另一个答案:

su -l $USER 
Run Code Online (Sandbox Code Playgroud)

su更改有效用户。 -l表示我们应该使这个新 shell 成为登录 shell $USER是一个环境变量,应该始终是您的用户。与 whoami 相同的结果

PS 如果您想使用 GUI 应用程序,您可能希望重新导出您的显示。

export DISPLAY=:0.0
Run Code Online (Sandbox Code Playgroud)

对大多数人都有效。

相关超级用户问题


小智 -1

exec su -l $USER 
Run Code Online (Sandbox Code Playgroud)

应该解决这个问题。

  • 你能再详细说明一下吗?详细解释一下这个命令的作用? (4认同)