我有 2 个用户user1
,并且user2
在我的 Ubuntu PC 中。user1
是我在安装过程中创建的。我创建user2
了一个执行 python 程序。现在,这个程序存在于路径中/home/user1/programs/
。因此,user2
正在执行位于user1
. 在执行期间,我无法在输出目录中创建文件/home/user1/programs/Output/
。因此,我继续检查权限并发现以下内容:
$ ls -l /home/user1/programs/
drwxrwxr-x 10 user1 user1 4096 Sep 6 11:30 Output
drwxrwxr-x 2 user1 user1 4096 Sep 5 17:50 source
$ cd Output
$ mkdir dummy1
$ ls -l
drwxrwxr-x 2 user1 user1 4096 Sep 6 11:30 dummy1
$ cd dummy1
$ vi a.txt
$ ls -l
-rw-rw-r-- 1 user1 user1 7 Sep 6 11:31 a.txt
$ cd ..
$ sudo mkdir dummy2
$ ls -l
drwxr-xr-x 2 root root 4096 Sep 6 12:37 dummy2
很明显,其他用户user2
喜欢write
在home
.user1
现在,我想将用户添加user1
到user2
具有相同权限的同一个组中,以便user2
获得一个rwx (7)
?如何创建这样的群?
这会添加一个名为 的组,将两个用户都添加到该组,并将(以及所有文件和子目录)
mygroup
的组所有权更改为./home/user1/programs/Output/
mygroup
然后将目录的权限设置为读、写、执行以及其中的所有文件允许读和写。同样,这递归地应用于所有子目录
../Output/
最后,它在目录上设置 setgid 位,
chmod g+s
以便在下面创建的所有文件和子目录/home/user1/programs/Output/
都将在mygroup
.所有这些都需要以 root 身份完成,因此
sudo -i
首先启动 root shellexit
,最后退出 root shell。