如何用密文修改linux的用户密码

一般个别机器的用户密码进行修改时,敲入passwd,然后以不在屏幕回显的方式进行密码的录入。

[root@localhost ~]# passwd ftpuser
Changing password for user ftpuser.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.

但是如果有比较多的机器或者大量用户需要批量修改密码时,为了提高效率,会使用利用以下方式进行修改:

[root@localhost ~]# echo ftpuser:Redhat123 |chpasswd

但是这种方式存在一个问题,就是如果使用history命令式会看到之前输入的密码,存在密码泄露的风险,必须考虑使用密文的方式进行修改。这里要利用/etc/shadow这个文件。在/etc/passwd中,x这个位置表示用户的密码位,但是这个密码并不可见。

[root@localhost ~]# cat /etc/passwd|grep ftpuser
ftpuser:x:1000:1000::/home/ftpuser:/bin/bash

然后再看看对应的/etc/shadow中,ftpuser这个用户的信息:

 [root@localhost ~]# cat /etc/shadow|grep ftpuser
 ftpuser:$6$rdkOY207Kw/eaApV$UtSr5upgOaU7X9Dgl6LSy8JXUEvltzwBPEBDbAx4zam2tjZTLL3jLTalCTtyRZPr4hqFVHWcNrdMMeCDWMlCG1:17954:0:99999:7:::

在第一个和第二个冒号之间的这一串,就是加密以密文显示的密码。所以下面要做的就是先设置一个密码,然后复制密文密码进行批量修改。
在这里插入图片描述修改方式这里提供两种(注意:密文密码要用单引号扩起来)
1、usermod -p '$6$0Y95Q88/$l6zZ3NdC6JEzV5AJBMkD.RjM3S3Vr27sAUPtD0vSxV1QWSk0wtvvE4KUrhsFpDHyFe050uYWJMAugDlEQlc5j.' ftpuser
命令行敲入usermod -h就能理解-p参数的作用了

2、echo ftpuser:'$6$0Y95Q88/$l6zZ3NdC6JEzV5AJBMkD.RjM3S3Vr27sAUPtD0vSxV1QWSk0wtvvE4KUrhsFpDHyFe050uYWJMAugDlEQlc5j.' |chpasswd -e (-e参数必须要有)

参考文档:
https://blog.csdn.net/snlying/article/details/6130468
另外特别感谢马哥的wiki ?

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值