linux用户密码机制

linux下修改用户密码可以执行 passwd admin,该命令位与/usr/bin下。

代码中实现该过程,可以通过调用 echo newpassword | passwd admin --stdin 来实现,当然新密码可以模拟个input/confirm的过程让用户输入。

 

linux密码加密算法不可逆,相关的两个文件分别是/etc/passwd 和 /etc/shadow,shadow是一种机制,将加密的口令转移到/etc/shadow文件里,该文件只为root超级用户可读,而同时/etc/passwd文件的密文域显示为一个x,如下是/etc/passwd中的admin用户的内容:

 

admin:x:0:0::/root:/bin/bash

 

同时,在shadow文件中的内容:

 

admin:$1$fCkTqJlm$oM1zsbYbhrTUPT14THTa90:14301:0:99999:7:::

 

shadow中的同一个明文对应的密文可能是不一样的,还不知道实现方式,譬如以下两段实际表示的明文都是同一个

 

admin:$1$6lU9/RTO$vMPkJn68iWQYiPAEA7oqW1:14301:0:99999:7:::
admin:$1$fCkTqJlm$oM1zsbYbhrTUPT14THTa90:14301:0:99999:7:::

 

当然我们这里只关注密文,密文是以冒号:区分的第二段,感觉跟$后的hex数字有关。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值