如何为不同的组正确设置用户和组权限?

如何为不同的组正确设置用户和组权限?

在 Ubuntu 20.04 服务器上,我的 /media 中有两个驱动器。

  1. /media/data(内部驱动器)
  2. /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 中

  1. 在group1中创建一个文件,该文件自动属于组group1
  2. 在 group3 中创建一个文件,该文件是否自动属于组 group3 ?

我的问题是:

  1. 我授予安装点 /media/data 和 /media/network_drive 的权限是否正确?
  2. 我必须在 /etc/fstab 中向这些驱动器传递哪些选项?
  3. 我是否需要 ACL 来实现这个功能,或者使用标准的 unix 用户权限是否可行?
  4. SetUID 和 SetGID 位是什么?

此外:-R 选项和这里的有什么区别:

find /folder/ -type d -exec chmod 755 {} +
find /folder/ -type f -exec chmod 644 {} +

使用第二个,您可以区分文件和文件夹,这是唯一的区别吗?

提前感谢您的回答!

相关内容