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
相关推荐
TPBoreas1 分钟前
Jenkins启动端口修改失败查找日志
运维·服务器·jenkins
正在努力的小河2 小时前
Linux设备树简介
linux·运维·服务器
荣光波比2 小时前
Linux(十一)——LVM磁盘配额整理
linux·运维·云计算
小张快跑。2 小时前
Tomcat下载、安装及配置详细教程
java·服务器·tomcat
小晶晶京京2 小时前
day35-负载均衡
运维·网络·网络协议·学习·负载均衡
没有不重的名么3 小时前
Tmux Xftp及Xshell的服务器使用方法
服务器·人工智能·深度学习·机器学习·ssh
wdxylb3 小时前
云原生俱乐部-杂谈1
服务器·云原生
拾心214 小时前
【运维进阶】LNMP + WordPress 自动化部署实验
运维·自动化·ansible·mariadb
大路谈数字化4 小时前
Centos中内存CPU硬盘的查询
linux·运维·centos
赏点剩饭7786 小时前
linux中的hostpath卷、nfs卷以及静态持久卷的区别
linux·运维·服务器