Linux/CentOS Shell脚本中非交互式修改密码

Linux大全评论1.4K views阅读模式

今天在写一个shell脚本的时候发现需要设置用户的密码,而设置密码是交互式的,这样在脚本中显然是不太好的,因此上网查找资料,发现了以下两种非交互式设置密码的方式:

1、使用chpasswd

chpasswd其实是通过用户输入'用户名:密码'来更改一组用户的密码,还是一个可以批量修改密码的工具,具体的用法详见chpasswd用法,这里只做简单的介绍

格式:# echo 用户名:密码 | chpasswd

比如想要添加一个linuxidc的帐号,密码为123456,指令如下

# echo linuxidc:123456 | chpasswd

2、使用passwd和--stdin组合

passwd默认是要用终端作为标准输入,而--stdin表示可以用任意文件做标准输入,这两个配合可以直接修改密码

格式:# echo '密码'| passwd --stdin 用户名

还是添加一个linuxidc的帐号,密码为123456,指令如下

# echo '123456'| passwd --stdin linuxidc

这样就可以实现在非交互模式下修改密码,但是对于某些嵌入式linux这两种方式都不支持,则可以使用export来实现。

Shell编程浅析 http://www.linuxidc.com/Linux/2014-08/105379.htm 

Linux Shell参数替换 http://www.linuxidc.com/Linux/2013-06/85356.htm

Shell for参数 http://www.linuxidc.com/Linux/2013-07/87335.htm

Linux/Unix Shell 参数传递到SQL脚本 http://www.linuxidc.com/Linux/2013-03/80568.htm

Shell脚本中参数传递方法介绍 http://www.linuxidc.com/Linux/2012-08/69155.htm

企鹅博客
  • 本文由 发表于 2019年9月6日 16:22:15
  • 转载请务必保留本文链接:https://www.qieseo.com/223365.html

发表评论