Shell 添加一个新组为class1,添加属于这个组的30个用户,用户名的形式为stdxx,其中xx从01 到30 ?
参考答案:
在Shell中,你可以使用groupadd
命令来添加一个新组,然后使用useradd
命令结合循环来添加用户,并将这些用户添加到新组中。以下是一个简单的bash脚本示例,它执行了你所描述的任务:
#!/bin/bash
# 添加新组
groupadd class1
# 循环添加用户
for i in {01..30}
do
# 创建用户名stdxx
username="std$i"
# 添加用户并设置初始密码(可选)
# 注意:这里设置的密码是"password",你可以根据需要更改
useradd -m -s /bin/bash -g class1 "$username"
echo "$username:password" | chpasswd
# 验证用户是否添加成功
id "$username"
done
注意:
- 上述脚本假设你有足够的权限来添加用户和组。通常,这需要root权限。
- 脚本中的
useradd
命令使用了-m
选项来创建用户的主目录,-s /bin/bash
来设置默认的shell为bash,-g class1
来将用户添加到class1
组。 - 脚本还使用
chpasswd
命令来设置每个用户的初始密码。在这里,我为所有用户都设置了相同的密码“password”,但在实际应用中,你可能希望为每个用户设置不同的密码,或者根本不设置密码(取决于你的安全策略)。 - 脚本中的
id
命令用于验证用户是否已成功添加。你可以根据需要删除或修改这部分。
要运行此脚本,你需要将其保存到一个文件中(例如add_users.sh
),然后使其可执行:
chmod +x add_users.sh
之后,以root用户身份运行它:
sudo ./add_users.sh