任务详情
情景:假设系统里有2个账号,分别为:ax与bx,这2个账号除了支持自己的群组以外还共同支持一个名为project的群组。如果这个2个账号需要共同拥有/srv/ahome目录的开发权,且该目录不允许其他账号进入查阅,请问该目录的权限该怎么设置?
目标:了解为何开发项目时,目录最后设定SGID权限
前提:多账号支持同一个群组,且共同拥有目录的使用权
需求:需要使用root的用户身份去运行chmod等命令,帮用户设定好他们的开发环境,是作为管理员的你的重要任务之一。
由于这节课我没有去上所以我并不知道课堂上说了什么,所以我只能通过老师的任务详情来操作。
教程开始:
为了让 ax 与 bx 共同拥有 /srv/ahome 目录的开发权,且该目录不允许其他账号进入查阅,可以按照以下步骤进行设置:
1. 创建一个名为 project 的群组,如果该群组已存在可以跳过此步骤。
sudo groupadd project
2. 将 ax 与 bx 添加到 project 群组中。
sudo usermod -aG project ax
sudo usermod -aG project bx
3. 确保 /srv/ahome 目录的所属群组为 project。
sudo chgrp project /srv/ahome
运行这段指令如果提示没有找到目录的话
请先创建目录操作如下
cd /srv
mkdir ahome
cd /root
4. 将 /srv/ahome 目录的权限设置为 rwxrws—,其中最后一个 s 表示 SGID 权限,这意味着在该目录下创建的文件与子目录的所属群组将会被设置为 project,而不是创建者的所属群组。
sudo chmod 2770 /srv/ahome
这样,ax 与 bx 就可以共同拥有 /srv/ahome 目录的开发权,同时其他账号无法进入查阅该目录。在开发项目时,为了让多个用户共同拥有某个目录的使用权,通常会使用 SGID 权限来设置该目录的所属群组,这样可以确保所有创建的文件和子目录的所属群组都一致,方便用户之间的协作。
这里面的2770中,2表示设置SGID权限,使得新创建的文件和目录都属于project群组;7对应rwx,表示project群组拥有读、写、执行的权限;第一个数字2表示owner具有读和执行权限,没有写权限;最后一位0表示其他人没有任何权限
操作完之后直接截图指令界面提交就可以了,因为这节课请假了所以不知道这样做对不对,这个只是通过任务详情做出来的。
没有回复内容