如何创建两个可以互相读取文件的用户?

如何创建两个可以互相读取文件的用户?

如何从 shell 创建 2 个用户 a 和 b,使得它们能够互相读取文件(比如 a 可以读取 b 的文件,b 可以读取 a 的文件)。

sudo adduser newuser
sudo passwd newuser

答案1

执行此操作的传统方法是确保两个用户都属于同一组。然后,将他们的文件所有权更改为该组。因此,例如,创建bobalice允许他们读取彼此的文件:

  1. 创建两个用户都属于的组

    sudo addgroup users
    
  2. 创建用户,并将其设置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 filechown :group file将他们的组更改为您之前选择的组。使用 将两个用户分配到文件的同一组后sudo usermod -a -G group username;这不会改变现有的分配组,不用担心。

如果您还有其他问题,请随时在此处发表评论,如果我能帮到您,请不要忘记按左上箭头。
欢迎加入社区。:)

相关内容