![如何实现创建共享文件夹并控制新创建的文件的任务](https://linux22.com/image/86742/%E5%A6%82%E4%BD%95%E5%AE%9E%E7%8E%B0%E5%88%9B%E5%BB%BA%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9%E5%B9%B6%E6%8E%A7%E5%88%B6%E6%96%B0%E5%88%9B%E5%BB%BA%E7%9A%84%E6%96%87%E4%BB%B6%E7%9A%84%E4%BB%BB%E5%8A%A1.png)
我正在尝试概念化如何解决这项任务。首先,这是完整的任务。
RHCSA7: Task of the day
Allowed time: 10 minutes.
Create two new user accounts "steve" and "oliver".
Create a group "team". Create a directory "shared".
All files put into the "shared" directory by "steve" or "oliver" should belong
to the "team" group and be only visible by them.
我知道如何创建新用户、文件夹和组。从我读到的内容来看,听起来这个小组应该有两名成员,史蒂夫和奥利弗。我还将共享目录所有权授予 root 并将其分配给team
.但是,我真正难以理解的是如何处理任务中的最后一行:
All files put into the "shared" directory by "Steve" or "Oliver" should belong to the "team" group and be only visible by them.
我立即想到的是我应该使用 chmod 的 Set GID 选项。因为我已将 Steve 和 Oliver 添加到组中team
,所以我可以使用以下命令
chmod g+s shared
由于我将共享目录分配给组,team
这会将添加到共享目录的所有新文件和目录分配给同一组(团队)。
这是正确的方法,还是该任务的可行解决方案?
作为一个花絮,读...的部分should only be visible by them
我应该将其读为仅具有读访问权限吗?如果是这种情况,则不会添加新文件或目录,除非它们是由 root 用户添加的。
答案1
您提出的解决方案是正确的。
我将解释有关共享目录仅对组“团队”的成员可见的部分,这意味着其他人无法读取该目录中的文件。并不是说团队组的成员没有写入权限。