如何从 shell 创建 2 个用户 a 和 b,使得它们能够互相读取文件(比如 a 可以读取 b 的文件,b 可以读取 a 的文件)。
sudo adduser newuser
sudo passwd newuser
答案1
执行此操作的传统方法是确保两个用户都属于同一组。然后,将他们的文件所有权更改为该组。因此,例如,创建bob
并alice
允许他们读取彼此的文件:
创建两个用户都属于的组
sudo addgroup users
创建用户,并将其设置
users
为主要组sudo adduser --ingroup users alice sudo adduser --ingroup users bob
就是这样。现在,alice
或创建的任何文件bob
都将属于该users
组,并且由于两个用户都属于该组,因此他们都可以读取这些文件:
alice@foo $ echo "hello" > ~/file
alice@foo $ ls -l file
alice@oregano ~ $ ls -l file
-rw-r--r-- 1 alice users 6 May 11 16:12 file
和
bob@foo $ cat ~alice/file
hello
答案2
在终端(xterm 也可以)中执行cat /etc/group
以获取系统中可用组的列表;要添加自定义组,sudo addgroup group_name
请使用您选择的名称执行。
使用您编写的命令创建两个用户,然后转到包含文件的目录并执行sudo chgrp file
或chown :group file
将他们的组更改为您之前选择的组。使用 将两个用户分配到文件的同一组后sudo usermod -a -G group username
;这不会改变现有的分配组,不用担心。
如果您还有其他问题,请随时在此处发表评论,如果我能帮到您,请不要忘记按左上箭头。
欢迎加入社区。:)