在日常的系统管理工作中,经常需要批量创建用户账户,并为每个用户设置独特的密码。这一过程如果手动操作,既繁琐又容易出错。但现在,我们有一个强大的Bash脚本,能够轻松实现这一需求。

这个脚本不仅简化了用户创建的过程,还自动为每个新用户生成一个安全的密码,并将用户信息和对应的密码记录到一个文件中,方便后续管理。
以下是这个强大的脚本内容:
#!/bin/bash
USER_LIST=$@
USER_FILE=./user.info
for USER in $USER_LIST; do
if ! id $USER &>/dev/null; then
PASS=$(echo $RANDOM | md5sum | cut -c 1-8)
useradd $USER
echo $PASS | passwd --stdin $USER &>/dev/null
echo "$USER $PASS" >> $USER_FILE
echo "$USER User create successful."
else
echo "$USER User already exists!"
fi
done
这个脚本是如何工作的呢?
- 接收用户名列表 :脚本接收任意数量的用户名作为参数($@表示所有传递给脚本的参数),并遍历这个列表。
- 检查用户是否存在 :使用id命令检查每个用户是否已经存在。如果用户不存在,则进入创建流程。
- 自动生成密码 :脚本使用$RANDOM生成一个随机数,然后通过md5sum和cut命令生成一个8字符的密码。这种方法简单高效,适合快速生成安全密码。
- 创建用户并设置密码 :useradd命令用于创建新用户,passwd --stdin用于将生成的密码设置给用户。所有这些操作都是静默完成的,不会显示任何输出或错误。
- 记录用户信息 :脚本将新创建的用户名和对应的密码追加到一个名为user.info的文件中,方便后续查阅和管理。
- 输出创建结果 :每个用户的创建结果都会被打印到屏幕上,便于管理员了解创建情况。
这个脚本大大提高了系统管理员的工作效率,减少了出错的可能性,是系统管理工具箱中不可或缺的一员。无论是新建项目需要批量创建用户,还是进行用户管理维护,这个脚本都能提供极大的便利。不妨试试看吧!