shell脚本批量添加20个用户,用户名为user1~20,密码为user1~20+5个随机字符,并保存至userinfo.txt文件中...
时间: 2024-03-21 13:42:58 浏览: 105
好的,以下是可以实现该功能的shell脚本:
```shell
#!/bin/bash
# 循环添加20个用户
for i in {1..20}
do
# 生成随机密码
password=$(openssl rand -base64 5)
# 添加用户
useradd user$i -m -s /bin/bash
# 设置密码
echo "user$i:$password" | chpasswd
# 将用户名和密码保存到文件中
echo "user$i:$password" >> userinfo.txt
done
```
该脚本使用了循环语句和openssl命令生成随机密码。在每次循环中,先使用`useradd`命令添加用户,再使用`chpasswd`命令设置密码。最后,将用户名和密码保存到userinfo.txt文件中。
相关问题
编写shell脚本,实现批量添加用户功能,要求如下:1用户名称统一,为相同的字符串添加数字编号,如qwe1~qwe9;用户密码与用户名相同
好的,根据您的要求,下面是一个修改后的 shell 脚本,可以实现批量添加用户的功能,用户名为 qwe1~qwe9,密码与用户名相同。
```bash
#!/bin/bash
# 定义用户名的前缀和数字编号的范围
user_prefix="qwe"
start_num=1
end_num=9
# 循环创建用户
for i in $(seq ${start_num} ${end_num})
do
# 拼接用户名
username=${user_prefix}${i}
# 判断用户是否已存在
if id ${username} &>/dev/null; then
echo "用户 ${username} 已存在,跳过创建。"
else
# 创建用户
useradd ${username}
echo "用户 ${username} 创建成功。"
# 设置密码
echo "${username}:${username}" | chpasswd
echo "用户 ${username} 密码设置成功。"
fi
done
echo "批量添加用户完成。"
```
这个脚本与前一个脚本的不同之处在于,在创建用户之后,还会使用 chpasswd 命令为用户设置密码。这里使用了类似于 echo "username:password" | chpasswd 的方式设置密码,密码与用户名相同。
同样,您可以将这个脚本保存为一个 .sh 文件,然后使用 chmod 命令赋予执行权限,执行即可。
编写shell脚本,实现批量添加用哈哈功能,要求如下:用户名格式统一,为相同字符串加数字编号,如qwe1~qwe9;用户密码与用户名相同
好的,我可以帮你编写这个shell脚本。请先确认你的系统中已经安装了bash。
以下是脚本的代码:
```bash
#!/bin/bash
# 定义用户名前缀
prefix="qwe"
# 定义用户数量
user_count=9
# 循环添加用户
for (( i=1; i<=$user_count; i++ ))
do
# 定义用户名和密码
username="$prefix$i"
password="$username"
# 添加用户
useradd -m -s /bin/bash -p $(openssl passwd -1 $password) $username
# 输出添加结果
if [ $? -eq 0 ]
then
echo "用户 $username 添加成功,密码为 $password"
else
echo "用户 $username 添加失败"
fi
done
```
你可以将脚本代码复制到一个名为add_users.sh的文件中,并使用chmod命令添加执行权限:
```bash
chmod +x add_users.sh
```
然后在终端中执行脚本:
```bash
./add_users.sh
```
脚本会自动添加9个用户,用户名为qwe1~qwe9,密码与用户名相同。添加结果将会在终端中输出。注意,你需要以root用户或sudo权限执行脚本才能添加用户。
阅读全文