在/testdir/dir⾥创建的新⽂件⾃动属于g1组,组g2的成员如:alice能对这些新⽂件有读写权限,组g3的成员如:tom只能对新⽂件有读权限,其它⽤户(不属于g1,g2,g3)不能访问这个⽂件夹。
时间: 2024-03-07 07:50:08 浏览: 101
要在 `/testdir/dir` 目录下创建的新文件自动属于 `g1` 组,可以使用以下命令:
```
mkdir -m 2770 /testdir/dir
```
其中,`mkdir` 命令用于创建新目录,`-m` 选项用于设置目录的权限。`2` 表示设置 SGID 位,`770` 表示设置用户和组的读、写、执行权限,并将组的权限设置为 `rwx`。这样,新创建的文件就会自动继承 `/testdir/dir` 目录的权限,属于 `g1` 组,组权限为 `rwx`。
要让组 `g2` 的成员(如 `alice`)对这些新文件有读写权限,可以将 `g2` 组添加到 `g1` 组的辅助组中,并将 `/testdir/dir` 目录的权限设置为 `2770`,以确保新创建的文件属于 `g1` 组。具体操作如下:
1. 将 `g2` 组添加到 `g1` 组的辅助组中:
```
usermod -aG g1,g2 alice
```
其中,`usermod` 命令用于修改用户信息,`-aG` 选项表示向用户的辅助组中添加新组。`alice` 是要添加的用户账号。
2. 将 `/testdir/dir` 目录的权限设置为 `2770`:
```
chmod 2770 /testdir/dir
```
这样,新创建的文件就会自动继承 `/testdir/dir` 目录的权限,属于 `g1` 组,组权限为 `rwx`,而 `g2` 组的成员也能够读写这些文件。
要让组 `g3` 的成员(如 `tom`)只能对新文件有读权限,可以使用以下命令:
```
setfacl -R -m g:g3:r /testdir/dir
```
其中,`setfacl` 命令用于设置 ACL 权限,`-R` 选项表示递归设置权限。`g:g3:r` 表示将组 `g3` 的权限设置为只读。这样,组 `g3` 的成员就只能对新文件有读权限,而无法写入或修改这些文件。
最后,为了防止其他用户(不属于 `g1`、`g2`、`g3` 组)访问这个文件夹,可以将 `/testdir/dir` 目录的权限设置为 `2770`,并将所有者设置为 `root`,组设置为 `g1`,以确保只有 `g1` 组的成员可以访问这个目录和其中的文件。
阅读全文