以下是翻译和优化后的脚本内容,用于在 Linux 系统中自动化创建用户账户,分配家目录并设置默认密码。脚本会检查用户是否已存在,避免重复创建。
Bash 脚本
#!/bin/bash
# 检查是否提供了用户名和默认密码
if [ "$#" -ne 2 ]; then
echo "用法:$0 用户名 默认密码"
echo "示例:$0 new_user password123"
exit 1
fi
username=$1
password=$2
# 检查用户是否已存在
if id "$username" &>/dev/null; then
echo "用户 $username 已存在于系统中。"
exit 1
else
# 创建用户并分配家目录
useradd -m "$username"
# 设置默认密码(使用 chpasswd 避免密码回显)
echo "$username:$password" | chpasswd
echo "用户 $username 创建成功。"
fi
使用说明
保存脚本到文件:将脚本内容保存到一个文件中,例如 create_user.sh。
给文件添加执行权限:
chmod +x create_user.sh
以超级用户身份运行脚本:提供用户名和默认密码作为参数运行脚本。例如:
sudo ./create_user.sh new_user password123
该命令会创建一个名为 new_user 的用户,其默认密码为 password123。
注意事项
权限要求:此脚本需要以 root 用户身份运行,或者使用 sudo 来获取必要的权限,以便能够创建用户账户。
密码安全性:在实际使用中,建议不要直接在脚本中硬编码密码。可以考虑通过更安全的方式传递密码,例如通过交互式输入或使用密钥管理工具。
错误处理:脚本会检查用户是否已存在,避免重复创建。如果用户已存在,脚本会提示并退出。
家目录:useradd -m 选项会为新用户创建一个家目录,目录名称默认为 /home/用户名。
密码设置:使用 chpasswd 命令设置密码,该命令不会在终端中回显密码内容,提高了安全性。