使用sha256(512)算法加密linux密码

Linux帐户的密码加密后存放于/etc/shadow文件中。对于Redhat Enterprise版本,默认使用MD5算法,这个算法已经很不安全。很多经典的黑客教程都是教人拿到shadow文件后回去破解出root的密码,如果能用更难破解的sha算法加密密码无疑可以提高服务器的安全性。以下内容是综合了http://www.cyberciti.biz/faq/rhel-centos-fedora-linux-upgrading-password-hashing/ , http://kbase.redhat.com/faq/docs/DOC-15806 的内容而来,针对RHEL5.2以上版本。

 

显示当前密码加密算法:

# authconfig --test | grep hashing

输出:password hashing algorithm is md5

 

设置使用sha512算法:

# authconfig --passalgo=SHA512 --update

 

在我的RHEL5.3版中,提示unknown algorithm sha512, 使用了sha256,还没搞清楚是为什么。再次显示,已经更改为sha256算法。

 

最后,所有用户都需要重新设置密码才能生效。可以使用# chage -d 0 userName 强制所有用户下次登录修改密码。

 

 

在我用的archlinux上,设置方法不同。参考了WiKi上的内容:http://wiki.archlinux.org/index.php/SHA_Passwords

 

1.修改 /etc/pam.d/passwd文件

#%PAM-1.0

#password required pam_cracklib.so difok=2 minlen=8 dcredit=2 ocredit=2 retry=3

#password required pam_unix.so md5 shadow use_authtok

password required pam_unix.so md5 shadow nullok

把最后一行的md5用sha256替换

2.修改/etc/default/passwd文件

CRYPT=des 改为 CRYPT=sha256

3.所有用户重新修改密码。

/etc/shadow文件详解

登录名”是与/etc/passwd文件中的登录名相一致的用户账号
“口令”字段存放的是加密后的用户口令字:

如果为空,则对应用户没有口令,登录时不需要口令;
星号代表帐号被锁定;
双叹号表示这个密码已经过期了;
6 6 6开头的,表明是用SHA-512加密;
1 1 1表明是用MD5加密;
2 2 2 是用Blowfish加密;
5 5 5 是用 SHA-256加密;
“最后一次修改时间”表示的是从某个时刻起,到用户最后一次修改口令时的天数。时间起点对不同的系统可能不一样。例如在SCOLinux中,这个时间起点是1970年1月1日。

“最小时间间隔”指的是两次修改口令之间所需的最小天数。
“最大时间间隔”指的是口令保持有效的最大天数。
“警告时间”字段表示的是从系统开始警告用户到用户密码正式失效之间的天数。
“不活动时间”表示的是用户没有登录活动但账号仍能保持有效的最大天数。
“失效时间”字段给出的是一个绝对的天数,如果使用了这个字段,那么就给出相应账号的生存期。期满后,该账号就不再是一个合法的账号,也就不能再用来登录了。

作者:fly小灰灰
来源:CSDN
原文:https://blog.csdn.net/yaofeino1/article/details/54616440
版权声明:本文为博主原创文章,转载请附上博文链接!


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值