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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux/CentOS Shell脚本中非交互式修改密码相关的知识,希望对你有一定的参考价值。

今天在写一个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来实现。




以上是关于Linux/CentOS Shell脚本中非交互式修改密码的主要内容,如果未能解决你的问题,请参考以下文章

Linux CentOS 7 Shell基础(命令历史,管道,作业控制,变量及环境变量)

Linux(CentOS7)设置自动备份数据库到阿里云OSS

一个脚本带你了解shell基础

linux centos 中 root 用户 vim 命令创建的.sh 脚本 显示颜色 ,但切换为普通用户就不显示颜色了

shell进交互式不退出

shell脚本初识别