Chinaunix首页 | 论坛 | 博客
  • 博客访问: 484138
  • 博文数量: 67
  • 博客积分: 2952
  • 博客等级: 少校
  • 技术积分: 679
  • 用 户 组: 普通用户
  • 注册时间: 2006-01-24 10:50
文章分类

全部博文(67)

文章存档

2011年(9)

2010年(36)

2009年(8)

2008年(5)

2007年(5)

2006年(4)

我的朋友

分类:

2007-01-12 15:54:06

  solaris 8 的/etc/shadow不支持md5加密的密码。
  比如在Linux中有个用户test,他的密码为pass,在/etc/shadow中我们看到的密码应该是$1$asdf$ib8USXkJi12PfzzkSyJwM0,现在我想将该用户移植到solaris8中,可是如果将$1$asdf$ib8USXkJi12PfzzkSyJwM0放到solaris8的/etc/shadow中,用户test无法用pass登录。我发现solaris8中的密码是用DES加密的,pass加密后应该类似于as2XksB4AwhxU这样的密文。
  那么我希望solaris8中同样也支持MD5加密,该如何做呢?
介绍了个方法。
可是按照上面的方法编译过后,无法使用。使用时出错
Dec 25 02:03:46 sdedb1 login: [ID 401707 auth.error] open_module: /usr/lib/security/pam_unix.so.2 failed: ld.so.1: login: fatal: relocation error: file /usr/lib/security/pam_unix.so.2: symbol pam_fail_delay: referenced symbol not found
Dec 25 02:03:46 sdedb1 login: [ID 487707 auth.error] load_modules: can not open module /usr/lib/security/pam_unix.so.2
这个问题似乎是pam_unix.so.2找不到pam_fail_delay模块,那我就将其静态编译进去好了。
于是方法是link的时候把其他的库文件加进来。
gcc -G -Xlinker -z -Xlinker redlocsym -o pam_unix.so dynamic/pam_unix_auth.o dynamic/pam_unix_acct.o dynamic/pam_unix_sess.o dynamic/pam_unix_passwd.o dynamic/support.o md5_good.o md5_broken.o md5_crypt_good.o md5_crypt_broken.o yppasswd_xdr.o bigcrypt.o ../../libpam/dynamic/pam_delay.o ../../libpam/dynamic/pam_log.o
如此问题解决,solaris8可以支持md5加密的密码了。
参考:
阅读(1485) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~