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

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


一、使用chpasswdshell


chpasswd实际上是经过用户输入'用户名:密码'来更改一组用户的密码,仍是一个能够批量修改密码的工具,具体的用法详见chpasswd用法,这里只作简单的介绍ide


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


好比想要添加一个linuxidc的账号,密码为123456,指令以下it


# echo linuxidc:123456 | chpasswdclass


二、使用passwd和--stdin组合终端


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


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


仍是添加一个linuxidc的账号,密码为123456,指令以下di


# echo '123456'| passwd --stdin linuxidc


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

相关文章
相关标签/搜索