Linux 目录权限

DD.*_*DD. -5 linux chgrp

我有一个由 root 创建的文件夹,我希望能够向用户组添加权限,以便他们可以移动文件等。

我做了以下事情:

chgrp -R developers testdir
Run Code Online (Sandbox Code Playgroud)

文件所有者现在是 root,组所有者是开发人员。为什么开发人员中的用户还不能进行更改?

Zor*_*che 8

对于标准的 unix 权限,您必须始终考虑所有者(用户/组/其他)、权限位和 umask。这些东西的组合描述了您的有效权限,以及新项目的权限。

  • chown/chgrp 设置所有权。
  • chmod 设置权限
  • umask 是每个用户环境的一部分,根据它的设置方式,它将删除权限位。

所以如果你想为一个组创建一个共享文件夹,你通常需要做这样的事情。

  • 创建一个新组 (projectgrp) 并将用户添加到该组。
  • 将项目文件夹下所有内容的组所有权更改为 projectgrp
  • 将所有文件夹的权限改为2775
  • 将所有文件更改为 0664。
  • 将所有用户的 umask 更改为 0002

当然,您还可以使用 ACL 执行其他一些操作,这些操作对系统管理员来说要复杂得多,但可以让最终用户更轻松。