如何只允许少数指定用户编辑一个文件?

如何只允许少数指定用户编辑一个文件?

我有一个文件,我只希望选定的用户组(审批者)有权修改。该文件对于其他用户(审阅者)应该是只读的。

是否可以在SUSE linux系统中以简单的方式做到这一点?

答案1

您需要创建一个组,添加已选择用户到该组,分配所有权,并将该文件的权限设置为664:rw 代表所有者和组,r 代表其他所有人。

$ sudo groupadd selectgroup   # create a group called "selectgroup" (or whatever you like)  
$ sudo usermod -a -G selectgroup user1 
$ sudo usermod -a -G selectgroup user2
$ sudo usermod -a -G selectgroup user3

...    # for all users to be added 

$ sudo chown someuser:selectgroup /the/file 

# where /the/file is the file to which we wish to limit rw privileges
# and someuser is presumable a member of selectgroup chosen to be the user owner

$ sudo chmod 664 /the/file

以上假设selectgroup系统上已存在 的所有用户成员。如果没有,您需要提前添加它们。

如果你有很多用户,这个脚本可能比单独添加每个用户更快:

$ for user in user1 user2 user3; do sudo usermod -a -G selectgroup "$user"; done


编辑:

FWIW:我不是 SUSE 用户,所以这可能根本不适合你:Debian 有一个名为用户私人群组, 为了“与群组共享和协作目录内容”UPG在他们的 Wiki 中描述。我思考RedHat Linux 有类似的构造,如果这是与 SUSE 的交叉领域,也许值得一看。

相关内容