Linux-chpasswd 修改用户密码教程
chpasswd可以方便批量修改用户密码,下面介绍一下chpasswd如何使用。
首先简单介绍一下chpasswd的两种设置方式的原型
echo [username]:[passwd] |chpasswd
chpasswd [options] < passwd.txt
下面介绍一下文章要用的参数:
用户名: user
明文密码:12345678
密文密码:$1$NdDuH1w6$2y0tfgaKx25v84bK1YFOT/
0、linux查看密码
root@Xubuntu18:cat /etc/shadow
root:$6$5KdRSQdF$kEEMjx2jRuX54QmQnn.FG4/v7VRbLBVVls0LP1/phYBeH0DL7n.rN5iIIGh5IAK9dlR0vF3xEWGIRpfqfVoak0:18452:0:99999:7:::
ftp:$6$Bpln2jbJ$EWwGVaLNVPp3ARTMOB/oEkLiec9iznyiF8fHnMC.XijKDb6.wfc0MKuvNg5hDz21GZgEPXWJ28jyk3ItaQuuv/:18689:0:99999:7:::
ftpp:!:18689:0:99999:7:::
简单列举了3个用户的密码信息,第一个用户是root,是带密码的,第二个是ftp,也是有密码的,第三个是ftpp,后面带!,代表没有密码。
注意事项:
1、chpasswd命令修改密码只能在root用户下
2、修改的用户必须存在,否则无法设置密码,可以使用下面的命令添加:
useradd username //username 是要创建的用户名
1、明文直接设置
root@Xubuntu18: echo user:12345678|chpasswd
用查看密码信息的命令查看一下,已经修改成功
root@Xubuntu18: cat /etc/shadow |grep user
user:$6$7PiIkAF2$hLerqFb0TS483JZwXPM9e1im2U7pgVlaTFtgNwp4lyJNXunp5xGgO8Rle53rBiPoiTQ6BVz7j9bwtO98hh.xw/:18689:0:99999:7:::
2、密文设置
密文可以通过openssl对明文进行加密,下面是对密码:12345678加密的例子:
root@Xubuntu18: openssl passwd -1 12345678
$1$NdDuH1w6$2y0tfgaKx25v84bK1YFOT/
第二行字符串是生成的密码密文,接下来用chpasswd命令修改密码,密码改成了密文,chpasswd后面需要加 -e的参数
root@Xubuntu18: echo user:$1$NdDuH1w6$2y0tfgaKx25v84bK1YFOT/|chpasswd -e
可以通过/etc/shadow 查看一下是否修改成功。
3、明文设置,指定加密方式
下面是通过-c指定加密的方式,加密方式包括:DES,MD5,NONE,SHA256,SHA512
root@Xubuntu18: echo user:12345678|chpasswd -c SHA512
可以自行修改加密方式的参数,查看/etc/shadow来对比差异
4、批量明文设置
将用户名密码写入文本文件中,例如passwd.txt,内容格式为:
username:password
例如:
user1:12345678
user2:12345678
然后用chpasswd命令进行密码设置,注意passwd.txt的路径。
root@Xubuntu18: chpasswd < /home/user/passwd.txt
5、批量密文设置
同明文一样,将用户名:密文添加到passwd.txt中,例如:
user1: 1 1 1NdDuH1w6$2y0tfgaKx25v84bK1YFOT/
user2: 1 1 1NdDuH1w6$2y0tfgaKx25v84bK1YFOT/
运用下面的命令进行密码设置,密文需要加 -e
root@Xubuntu18: chpasswd -e < /home/user/passwd.txt