编写一个shell程序adduser,添加一个新组class,然后添加属于这个组的30个用户,用户名的形式为yhxx,并设置密码为yhxx。其中xx从01到30(前九个是01-09,后10-30)。
时间: 2024-02-24 12:58:16 浏览: 23
好的,以下是adduser的Shell程序代码:
```
#!/bin/bash
# 创建组class
sudo groupadd class
# 添加30个用户
for i in {1..30}; do
# 设置用户名为yhxx,其中xx从01到30
if [ $i -lt 10 ]; then
username=yh0$i
else
username=yh$i
fi
# 添加用户
sudo useradd $username -m -p $(openssl passwd -1 yh$i) -s /bin/bash -g class
done
```
这个程序使用了一个for循环来添加用户。在循环中,我们首先使用if语句来设置每个用户的用户名(前九个是01-09,后10-30)。然后,我们使用sudo命令和useradd命令添加用户。其中,-m选项用于创建用户的主目录,-p选项用于设置用户的密码,-s选项用于设置用户的默认shell,-g选项用于设置用户的初始组为class。在程序的开头,我们使用sudo命令和groupadd命令创建了组class。在终端中执行以下命令将adduser文件设置为可执行文件:
```
chmod +x adduser
```
之后,我们可以在终端中执行以下命令来运行adduser程序:
```
./adduser
```
运行程序后,程序将创建组class并添加30个用户。每个用户的用户名为yhxx,其中xx从01到30。每个用户的密码设置为yhxx。