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
相关推荐
QT 小鲜肉5 小时前
【Linux命令大全】001.文件管理之git命令(实操篇)
linux·服务器·笔记·git·elasticsearch
半夏知半秋5 小时前
docker常用指令整理
运维·笔记·后端·学习·docker·容器
逆风水手5 小时前
Ansible自动化运维入门指南
linux·运维·自动化·ansible
tianyuanwo5 小时前
SSH会话管理实战:识别与清理非法连接的完整指南
运维·ssh
小豆子范德萨5 小时前
两台window配置SSH免密登录
运维·ssh
小北方城市网6 小时前
第 6 课:Vue 3 工程化与项目部署实战 —— 从本地开发到线上发布
大数据·运维·前端·ai
曹牧7 小时前
C#:记录日志
服务器·前端·c#
记得记得就1518 小时前
docker作业
运维·docker·容器
运维行者_8 小时前
OPM 与传统管理工具的区别,在网络修复与自动化运维方面的优势在哪里?
运维·服务器·开发语言·网络·自动化·php·ssl
HaSaKing_7218 小时前
EMQX 多机集群部署完整实践(Docker + 社区版 5.8.8)
运维·docker·容器·emqx