当前位置: 首页 > news >正文

shell批量添加新用户

批量加5个新用户,以u1到u5命名,并统一加一个新组,组名为class,统一改密码为123

#脚本1
#!/bin/bash
#判断class组是否存在
grep -w class /etc/group &>/dev/null
[ $? -ne 0 ] && groupadd class
#批量创建5个用户
for i in {1..5}
douseradd -G class u$iecho 123|passwd --stdin u$i
done#脚本2
#!/bin/bash
#判断class组是否存在
cut -d: -f1 /etc/group|grep -w class &>/dev/null
[ $? -ne 0 ] && groupadd class#循环增加用户,循环次数5次,for循环,给用户设定密码
for ((i=1;i<=5;i++))
douseradd u$i -G classecho 123|passwd --stdin u$i
done#脚本3
#!/bin/bash
grep -w class /etc/group &>/dev/null
test $? -ne 0 && groupadd class
或者
groupadd class &>/dev/nullfor ((i=1;i<=5;i++))
do
useradd -G class u$i && echo 123|passwd --stdin u$i
done

写一个脚本,实现批量添加20个用户,用户名为user1-20,密码为user后面跟5个随机字符

脚本1

 #!/bin/bashfor i in {1..20}; dousername="user$i"password="user$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 5 | head -n 1)"useradd "$username" && echo "$username:$password" | chpasswdecho "用户 $username 添加成功,密码: $password"done功能说明:循环创建user1到user20,密码格式为user+5位随机字符(字母数字组合)使用/dev/urandom生成随机字符串,tr过滤非字母数字字符chpasswd安全设置密码,避免明文密码出现在历史记录中使用方法:保存为add_users.sh添加执行权限:chmod +x add_users.sh需root权限运行:sudo ./add_users.sh注意事项:若用户已存在,脚本会报错但继续执行后续用户随机密码会直接打印到终端,生产环境建议重定向到安全文件

脚本2

以下是一个完整的 Shell 脚本,用于批量创建 20 个用户,用户名从 user1 到 user20,密码为 user 后加上 5 个随机字符。脚本还提供了错误处理功能以确保用户不会被重复创建,并将用户名和密码记录到文件 userinfo.txt 中#!/bin/bash# 定义变量USERADD="/usr/sbin/useradd"PASSWD="/usr/bin/passwd"CUT="/bin/cut"INFO_FILE="userinfo.txt"# 清空或创建用户信息文件> "$INFO_FILE"# 循环创建用户for i in {1..20}; dousername="user$i"# 使用 /dev/urandom 生成随机字符串并截取前 5 个字符作为密码的一部分password="user$(cat /dev/urandom | $CUT -c-5 | head -c 5)"[^3]# 尝试添加用户if ! id "$username" &>/dev/null; then$USERADD "$username" && echo "$password" | $PASSWD --stdin "$username" &>/dev/nullecho "$username:$password" >> "$INFO_FILE"echo "User $username created successfully."elseecho "User $username already exists. Skipping..."fidoneecho "All users processed. User information saved to $INFO_FILE."脚本说明用户检查:在创建用户之前,使用 id 命令检查用户是否已存在。如果用户已存在,则跳过该用户的创建过程。随机密码生成:通过 /dev/urandom 和 cut 命令生成 5 个随机字符,并将其附加到字符串 user 后面以形成密码。非交互式密码设置:使用 echo "$password" | passwd --stdin "$username" 命令以非交互方式为用户设置密码。记录用户信息:将每个用户的用户名和密码写入文件 userinfo.txt,以便后续使用。注意事项确保脚本具有执行权限。可以通过运行 chmod +x script_name.sh 来赋予脚本执行权限。运行脚本时需要超级用户权限(即 root 用户),因为 useraddpasswd 命令需要这些权限。如果系统中已经存在部分用户(如 user1 到 user20 的范围中有重复用户),脚本会自动跳过这些用户并继续处理剩余的用户

相关文章:

  • SSE (Server-Sent Events) 技术简介
  • 校园网背后的技术:如何实现全校覆盖与无缝漫游?
  • Go 语言中的内置运算符
  • vue中Echarts的使用
  • VSCode主题设计大赛
  • LeetCode 1723: 完成所有工作的最短时间
  • OpenEuler 系统中 WordPress 部署深度指南
  • Fork/Join框架:CountedCompleter与RecursiveTask深度对比
  • C语言 — 通讯录模拟实现
  • 135. 分发糖果
  • 2.1.1 通信基础的基本概念
  • F(x,y)= 0 隐函数 微分法
  • sizeof 与strlen的区别
  • 基于规则的自然语言处理
  • 进程与线程的区别
  • 5-C#的DateTime使用
  • 2025.6.8
  • java 时区时间转为UTC
  • 一种停车场自动停车导航器的设计(论文+源码)
  • 31.2linux中Regmap的API驱动icm20608实验(编程)_csdn
  • 心悦dnf免做卡网站/seo推广专员招聘
  • 介绍个人网站的ppt怎么做/自媒体十大平台
  • 内网 做 网站/百度关键词怎么排名
  • 杭州知名设计公司/seo关键词优化经验技巧
  • 东道设计学院/seo是什么品牌
  • 贵州新闻网站网络推广/济南疫情最新消息