Linux快速给用户改密码

由于巡检过程中需要修改部分用户名密码,这些强密码包含大小写、数字和特殊符号,完全没有规律,让我手动输是不可能的,于是使用以下命令来输入,但是为了不在history里面留下痕迹,所以先关闭了历史命令功能:

bash 复制代码
set +o history #关闭hittory
echo "new_password" | passwd --stdin username

注意这里有坑,如果密码里面有符号,那么会被认为是变量,我就遇到了这种情况,一直输密码不太对,所以前面要加上\进行转义。

比如:

bash 复制代码
echo "new_password\$he" | passwd --stdin username

如果批量对用户修改密码,可以用以下方式:

bash 复制代码
for i in {1..10};do
useradd username$i #用户名
  password=`cat /dev/urandom|tr -dc '[:alnum:]'|head -c12` #使用生成的随机密码,12位
  echo $password |passwd --stdin user$i &> /dev/null # 密码赋值
  echo user$i:$password >> ~/user.log # 把用户名和密码都放到文件里面
  echo "user$i is created"
done
相关推荐
!沧海@一粟!19 分钟前
麒麟Zabbix Agent安装配置全攻略
linux·服务器·zabbix
鸠摩智首席音效师4 小时前
如何使用 docker exec 在容器中运行命令 ?
运维·docker·容器
似水এ᭄往昔4 小时前
【Linux】自动化构建-make/Makefile
linux·运维·服务器·ubuntu
顶点多余5 小时前
Linux“信号“从硬件到软件详解
linux·运维·服务器
勘察加熊人5 小时前
ai飞卢小说自动化处理工作流获得提问素材
运维·自动化
瀚高PG实验室6 小时前
rpm包安装报错:cannot open Packages index using db5 - Cannot allocate memory (12)
linux·运维·服务器·瀚高数据库
云计算老刘6 小时前
2. DNS 服务器
运维
水星灭绝6 小时前
win11+wsl2+docker
运维·docker·容器
追风少年王大爷丶6 小时前
nginx 配置无域名访问拒绝
运维·服务器·nginx
black方块cxy6 小时前
实现一个输入框多个ip以逗号分隔最多20组,且ip不能重复
java·服务器·前端