Linux密码少于85字符,现代Unix / Linux系统上的密码仍然限制在8个字符以内?

多年以前,Unix密码被限制为8个字符,或者如果您input的密码长度超过8个字符,那么额外的configuration就不会有任何区别。

大多数现代Unix / Linux系统仍然如此吗?

如果是这样,那么在大多数系统上,更长的密码何时变成可能?

有没有一种简单的方法来判断一个给定的系统是否支持更长的密码,如果是的话,有效的最大值(如果有的话)是多less?

我已经做了一些关于这个话题的networkingsearch,并且找不到任何确定的东西。 大部分出现在21世纪初的时候,我认为8个字符的限制仍然是常见的(或者普遍存在,足以保证这个限制)。

在glibc2 (任何现代Linux发行版)中,密码加密函数可以使用MD5 / SHA-xxx(由魔术盐前缀引发),然后将其视为重要的所有输入字符(请参阅man 3 crypt )。 对于你的系统的一个简单的测试,你可以尝试像这样:

#!/bin/perl -w my $oldsalt = '@@'; my $md5salt = '$1$@@$'; print crypt("12345678", $oldsalt) . "\n"; print crypt("123456789", $oldsalt) . "\n"; print crypt("12345678", $md5salt) . "\n"; print crypt("12345678extend-this-as-long-as-you-like-0", $md5salt) . "\n"; print crypt("12345678extend-this-as-long-as-you-like-1", $md5salt) . "\n";

(在我的系统上给出)

@@nDzfhV1wWVg @@nDzfhV1wWVg $1$@@$PrkF53HP.ZP4NXNyBr/kF. $1$@@$4fnlt5pOxTblqQm3M1HK10 $1$@@$D3J3hluAY8pf2.AssyXzn0

其他* ix变体至少支持Solaris 10以上版本,例如crypt(3) 。 但是,这是一个非标准的扩展 – POSIX没有定义它 。

尽管原始的基于DES的算法仅使用密码的前8个字符,但Linux,Solaris和其他较新的系统现在还支持其他密码哈希算法,如MD5 ,这些算法没有这个限制。 如果您的网络包含较旧的系统并且使用了NIS,则有时需要继续使用旧的算法。 如果只输入您的> 8个字符的密码的前8个字符,系统将会登录,您可以看到旧的基于DES的算法仍在使用中。

因为它是一个哈希算法,所以MD5没有内在的限制。 但是,各种接口通常会强加一些至少72个字符的限制 。

虽然最初加密的密码被存储在一个世界可读的文件( /etc/passwd )中,但是它通常存储在一个单独的影子数据库(例如/etc/shadow )中,这个数据库只能被root用户读取。 因此,算法的强度不再像过去那样重要。 但是,如果MD5不足,则可以在某些系统上使用Blowfish或SHA。 而且Solaris支持可插入的密码加密模块,使您可以使用任何疯狂的方案 。 当然,如果您使用的是LDAP或其他共享用户数据库,那么您将需要选择所有系统都支持的算法。

你问关于crypt算法吗?

“通过获取密钥的前八个字符中的每一个的最低7位…”

“该函数的glibc2版本具有以下附加功能…整个密钥在这里非常重要(而不仅仅是前8个字节)”。

这里有一个暗示,这个改变发生了多久。

Glibc 2 HOWTO Eric Green, ejg3@cornell.edu v1.6, 22 June 1998

你会发现这篇文章的兴趣。 有一种叫做PAM(Password Authentication modulee)的密码验证模块(Password Authentication modulee),它通过一系列模块(在/etc/pam.d/passwd或/etc/pam.conf配置)来运行你的密码来确定密码是否有效。

我认为,在Linux上,实际的密码从/ etc / passwd移到了shadow的时候。 我在2000年前后猜测,红帽6.x长时间密码IIRC。 在2000年左右,还有很多老太阳,他们有密码和用户名的限制。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值