在 Ubuntu 20.04 服务器上,我的 /media 中有两个驱动器。
- /media/data(内部驱动器)
- /media/network_drive(网络驱动器)
我有多个用户组(group1、...、groupN)。每个组都应该在 /media/data 上有一个文件夹(01_group1、...、N_groupN)。此外,group1(且只有 group1)应该有权访问 /media/network_drive。其他用户(不在这些组中)不应该有权访问这两个驱动器。
在 /media/data 上,每个用户都应该对属于他所在组的文件夹具有读取、写入、执行权限。此外,如果用户在其中一个文件夹中创建文件,则该文件的组应自动成为该文件夹的组。这是正确的方法吗?据我了解,名为 john 的用户在主组 john 中,如果他创建了一个文件,则该文件具有用户 john 和组 john,因此对于其他人来说不是 rwx,例如,如果权限为 770。
我的尝试是:为 group1、...、groupN 中的所有用户创建一个父组 groupAll。
sudo chgrp groupAll /media/data
sudo chgrp -R group1 /media/data/group1
...
sudo chgrp -R groupN /media/data/groupN
sudo chmod -R 770 /media/data
sudo chgrp -R group1 /media/network_drive
sudo chmod -R 770 /media/network_drive
我还需要做什么,如果用户 john 在 group1、group3 和 groupAll 中
- 在group1中创建一个文件,该文件自动属于组group1
- 在 group3 中创建一个文件,该文件是否自动属于组 group3 ?
我的问题是:
- 我授予安装点 /media/data 和 /media/network_drive 的权限是否正确?
- 我必须在 /etc/fstab 中向这些驱动器传递哪些选项?
- 我是否需要 ACL 来实现这个功能,或者使用标准的 unix 用户权限是否可行?
- SetUID 和 SetGID 位是什么?
此外:-R 选项和这里的有什么区别:
find /folder/ -type d -exec chmod 755 {} +
find /folder/ -type f -exec chmod 644 {} +
使用第二个,您可以区分文件和文件夹,这是唯一的区别吗?
提前感谢您的回答!