3.按照顺序写出指令:批量创建用户user001~user030 共30个用户账户,在每个账户的主目录下创建info.txt,创建club1-club3三个用户组。修改user001~user010的用户组为club1,修改user011~user020中info.txt的用户和用户组权限为r-x,将末尾数组为3的用户加入到club3用户组。
时间: 2024-03-26 20:40:10 浏览: 51
好的,以下是按照顺序编写的指令:
1. 批量创建用户user001~user030,共30个用户账户
```bash
for i in {1..30}; do useradd user$(printf "%03d" $i); done
```
2. 在每个账户的主目录下创建info.txt
```bash
for i in {1..30}; do touch /home/user$(printf "%03d" $i)/info.txt; done
```
3. 创建club1-club3三个用户组
```bash
groupadd club1
groupadd club2
groupadd club3
```
4. 修改user001~user010的用户组为club1
```bash
for i in {1..10}; do usermod -g club1 user$(printf "%03d" $i); done
```
5. 修改user011~user020中info.txt的用户和用户组权限为r-x
```bash
for i in {11..20}; do chmod u+r-x,g+r-x,o+r /home/user$(printf "%03d" $i)/info.txt; done
```
6. 将末尾数组为3的用户加入到club3用户组
```bash
for i in {1..30}; do
if [ $(($i % 10)) -eq 3 ]; then
usermod -a -G club3 user$(printf "%03d" $i)
fi
done
```
解释一下上述指令:
- 第1行使用for循环和useradd命令批量创建用户user001~user030,printf "%03d" $i表示将$i格式化为3位数字,不足的前面补零。
- 第3行使用groupadd命令创建club1-club3三个用户组。
- 第4行使用for循环和usermod命令修改user001~user010的用户组为club1,-g选项表示设置主组。
- 第6行使用for循环和chmod命令修改user011~user020中info.txt的用户和用户组权限为r-x,u表示所有者,g表示所属组,o表示其他人。
- 第8行使用for循环和usermod命令将末尾数组为3的用户加入到club3用户组,-a选项表示添加到附加组。
注意事项:
- 执行以上指令需要以root用户身份登录。
- 如果用户已经存在,执行useradd命令会提示用户已经存在,可以忽略该提示。
- 如果用户主目录不存在,执行touch命令会自动创建该目录。
- 修改文件权限时,最好先查看文件的当前权限,避免误操作。
阅读全文