Linux技能篇-非交互式修改密码

今天的文章没有格式,简单分享一个小技能,就是标题所说--非交互式修改密码。

一、普通方式修改用户密码

最普通的修改密码的命令就是passwd命令

bash 复制代码
[root@localhost ~]# passwd root
Changing password for user root.
New password:
Retype new password:
passwd: all authentication tokens updated successfully.
[root@localhost ~]#

在这种方式下,修改密码就需要重复输入两次密码,这在初学的时候没有问题,但是如果密码复杂一点,输入两次,就会出现输错或者输入效率很低的情况。假如有50台机器需要修改密码,这时候passwd命令就是灾难!你要输50次passwd命令,100遍密码!!!这时候就非常需要一个非交互命令来帮助你减轻工作负担,当然,如果你会使用ssh非交互做一个脚本出来,那更好,当然,这就比较考验的Linux脚本功底了。

二、非交互修改密码

1. passed命令+printf命令实现

先看演示,我要改的密码是:5201314my@

bash 复制代码
[root@localhost ~]# printf "5201314my@\n5201314my@\n" | passwd root
Changing password for user root.
New password: Retype new password: passwd: all authentication tokens updated successfully.

这种方式就是把你要修改的密码通过printf打印参数,将参数通过管道传递到passwd命令中,很容易理解,但是这方法不常用,命令相对还是很繁琐,但是易于理解。

2. usermod命令实现

先看演示,我要改的密码是:5201314my@

bash 复制代码
[root@localhost ~]# usermod --password $(echo '5201314my@' | openssl passwd -1 -stdin) root
[root@localhost ~]# 

这个用法不常见,这个几乎没有人去这么用,这个会比你直接去修改输入还多,只是在这里展示可以这么去做,不做解释。

3.paasswd命令+EOF(自定义终止符)实现

先看演示,我要改的密码是:5201314my@

bash 复制代码
[root@localhost ~]# passwd root << EOF
> 5201314my@
> 5201314my@
> EOF
Changing password for user root.
New password: Retype new password: passwd: all authentication tokens updated successfully.
[root@localhost ~]# 

这种方法和printf有点类似,将密码通过重定向的方式传输到passwd命令中,去自动做交互,但是依然不够简洁。

4.passwd命令+管道+echo命令实现

先看演示,我要改的密码是:5201314my@

bash 复制代码
[root@localhost ~]# echo '5201314my@' | passwd --stdin root
Changing password for user root.
passwd: all authentication tokens updated successfully.

stdin是接受echo后面的字符串做为密码,说白了是还是通过变量赋值和管道传参来实现,这个相比上面三种,就只需要写一次密码,用熟练了相当好使。
注意:echo后面不要忘了加引号把用户名和新密码引起来

5.chpasswd命令实现

先看演示,我要改的密码是:5201314my@

bash 复制代码
[root@localhost ~]# echo "root:5201314my@" | chpasswd
[root@localhost ~]# 

这里使用的是chpasswd命令去做,还是使用管道传递参数。

总结

推荐使用第四种和第五种,他们的区别就是第四种有回显,第五种没有。其他的凭爱好研究吧,看起来貌似并没有减轻干活的负担。

相关推荐
z20230508几秒前
以太网之VLAN介绍
linux·服务器·网络·人工智能·ai
孙高飞4 分钟前
直播预告 - 周日晚 7 点半-AI 驱动 UI 自动化
运维·自动化
qq_1969761713 分钟前
硬核多语言办公方案:基于Gemini境像站的实时翻译与双语文档自动化生成管道(国内免费镜像实测)
运维·自动化
拉不拉斯25 分钟前
Linux 性能调优实战指南:从 perf 实时监控到火焰图生成
linux·运维·服务器·perf
Agent手记30 分钟前
环保排放数据自动上报全流程自动化—— 2026企业级智能体(Agent)落地全指南
运维·人工智能·ai·自动化
LCG元33 分钟前
RAG工程指南:从基础检索到生产部署全解析
java·运维·数据库
小生迷途知返1 小时前
影响巨大!Linux 提权大洞速速复现!!!暂无补
linux·运维·服务器
FreeBuf_1 小时前
Claude Mythos Preview 实现自动化漏洞研究突破,可构建PoC漏洞利用链
运维·自动化
风静如云1 小时前
VMware:下载
运维
IMPYLH1 小时前
Linux 的 wc 命令
linux·运维·服务器·前端·bash