仅授予特定目录中的所有者修改文件的权限

仅授予特定目录中的所有者修改文件的权限

我有 4 个用户:A、B、C、D 和一个目录:folder10;我想给A和B访问文件夹10的权限,每当有人在这个文件夹中创建文件时,他将是唯一可以修改它的人,其他人只能读取它。例如:A 创建一个文件,B 可以打开它并读取它,但不能修改它。如果 B 创建该文件,也会发生同样的情况。

我已经有一些类似的问题,但情况不一样。任何帮助将不胜感激。

答案1

您可以使用创建一个组来解决该问题,并且该组只有读取访问权限,并且在 Linux 上,您可以使用以下命令分配该组。

usermod -a -G 组用户

答案2

每当创建文件或目录时,都会为其分配权限,并且划分如下:

OWNER:GROUP:OTHERS/WORLD

可以很好地分配这些权限,以chmod修改目录或文件的访问标准或使用 来应用扩展 ACL setfacl

现在的重点是你是否想要B作为其他人还是在一个团体中。

将 B 视为其他人可以轻松完成

chmod <permission> <directory or filename>

您可以将其替换<permission>为要授予/添加/删除的权限以及<directory or filename>(毫不奇怪)要授予访问权限的目录或文件的名称。

就像如果您希望只有一个组可以读取 B 所属的文件,那么只需通过以下方式创建一个组

groupadd groupname

在添加 B 时,只需使用以下命令使其成为该组的一部分

useradd -n -g -groupname username

这将创建一个用户usernamegroupname使用

setfacl -m g:<groupname>:<permission> <directoryname or filename>

现在您可以根据它允许该组访问读、写或执行权限。

如果您只想授予用户权限

setfacl -m u:<username>:<permission> <directoryname or filename>

相关内容