用户管理综合实验 某公司有一个项目组,该组包含三名成员,分别为张三、李四和王五,其中张三为项目组长。为了项目开发方便,管理员要在公司的linux服务器上为该项目组建立一个工作目录,用于存放该项目组的一些开发文档和程序代码。为了安全起见,只允许该组成员读写此目录,公司的其他员工不能读写访问。请你实现上述要求,给出具体的解题思路,操作步骤及相应命令(包括用户和用户组管理、目录创建、权限管理等部分)。 到了项目测试阶段,公司给该项目小组配备了一名软件测试员赵六,赵六也要能够对该项目组的工作目录进行读写访问,管理员该如何设置? 项目测试完工后,张三、李四被调离,分配到另外一个项目组工作,因而不再允许访问项目组的工作目录。该组此时只剩下王五和赵六负责后期维护工作。管理员该如何修改用户权限? 实际操作中,在项目组的工作目录内,某个用户创建的文件默认是不能被项目组内的其他成员修改的。如何解决该问题,使得某用户创建的文件默认情况下就能被同组成员查看和修改?
时间: 2024-03-26 19:35:27 浏览: 72
解题思路:
1. 创建用户组和用户
2. 创建工作目录并设置权限
3. 添加用户到用户组并设置权限
4. 测试赵六的读写访问权限
5. 移除张三和李四的访问权限
6. 修改用户权限,使得同组成员能够修改同一个文件
操作步骤及相应命令:
1. 创建用户组和用户
创建名为project的用户组:
```
sudo groupadd project
```
创建三个用户:张三、李四和王五,其中张三为项目组长:
```
sudo useradd -m -G project -s /bin/bash zhangsan
sudo useradd -m -G project -s /bin/bash lisi
sudo useradd -m -G project -s /bin/bash wangwu
```
2. 创建工作目录并设置权限
在/home下创建名为project_dir的目录:
```
sudo mkdir /home/project_dir
```
设置目录的权限为rwxrwx---(即只有用户和用户组有读写权限):
```
sudo chmod 770 /home/project_dir
```
3. 添加用户到用户组并设置权限
将用户张三设置为目录的所有者:
```
sudo chown zhangsan:project /home/project_dir
```
将用户赵六添加到用户组project:
```
sudo usermod -a -G project zhaoliu
```
设置目录的权限为rwxrwx---并且只有用户和用户组有读写权限:
```
sudo chmod 770 /home/project_dir
```
4. 测试赵六的读写访问权限
切换到用户赵六:
```
su zhaoliu
```
在工作目录中创建一个名为test.txt的文件:
```
touch /home/project_dir/test.txt
```
编辑test.txt文件,输入一些内容:
```
nano /home/project_dir/test.txt
```
保存文件并退出nano。
尝试读取和编辑test.txt文件:
```
cat /home/project_dir/test.txt
nano /home/project_dir/test.txt
```
如果都成功执行,则说明赵六具备了读写访问权限。
5. 移除张三和李四的访问权限
从用户组project中移除张三和李四:
```
sudo gpasswd -d zhangsan project
sudo gpasswd -d lisi project
```
6. 修改用户权限,使得同组成员能够修改同一个文件
设置目录的SGID位,使得所有在该目录下创建的文件和子目录都继承该目录的用户组:
```
sudo chmod g+s /home/project_dir
```
设置目录的权限为rwxrws---(即用户和用户组有读写权限,并且所有在该目录下创建的文件和子目录都继承该目录的用户组):
```
sudo chmod 2770 /home/project_dir
```
现在,任何在该目录下创建的文件和子目录都会继承该目录的用户组,从而实现同组成员可以修改同一个文件的目的。
阅读全文