我正在使用 Redhat/Centos 7。
目前我有一个名为 /lcldisk 的本地目录,用户使用网络帐户登录,这意味着当他们在 /lcldisk 下创建目录时,它归用户及其域组所有,因此属于他们的部门。部门组不为此目录的任何组提供权限。
我正在尝试创建一个本地组,将 3 个用户投入其中,使该组拥有一切(每个文件和文件夹,包括 /lcldisk)。我还希望每个新文件和文件夹都归该组所有,目录=rwx 和文件=rw
mkdir /lcldisk
chmod 777 /lcldisk
用户
cd /lcldisk
mkdir johnnydepp
用户已经创建了文件夹和文件,大部分看起来像。
多年后,他们希望几个用户能够访问 /lcldisk 下的数据,无论哪个用户,以防万一他们离开或发生什么。
groupadd ns_admGrp
usermod -a -G ns_admGrp bettywhite
chown -R :ns_admGrp /lcldisk
cd /lcldisk
chmod g+rwx /lcldisk/
find . -type d -exec chmod g+rwx {} \;
find . -type f -exec chmod g+rw {} \;
现在如何保留每个用户的所有文件和文件夹,以及每个目录,无论用户和具有这些权限的该组拥有多深?
我知道设置保留组时的粘性位,我仍然需要文件夹和文件权限。
我显然错过了这个难题的哪些部分?我是否需要查看 acl、umask 等其他内容。
对于大多数使用 POSIX ACL 的文件系统,在目录和所有子目录上设置一个带有组条目的“默认”ACL:
由于 setgid 位,这适用于文件继承的分配组。对于自定义组,您当然可以使用
[d:]g:mygroup:rwx
.当新创建的文件继承此 ACL 时,它们将自动获得一个
mask::rw
条目,屏蔽掉不必要的 +x 位。新创建的子目录将获得整个 +rwx。没有自动方式将默认 ACL 应用于现有项目(没有像 NTFS 那样的真正继承)。
您最好使用 ACL。
在您的情况下,您想要做的是运行:
第一个命令将为目录/文件设置组权限,第二个命令将为目录/文件设置默认权限。
此页面详细介绍了该主题 - https://linuxman.co/linux-server/how-to-use-acl-in-linux/