荔园在线

荔园之美,在春之萌芽,在夏之绽放,在秋之收获,在冬之沉淀

[回到开始] [上一篇][下一篇]


发信人: georgehill (佐治·希尔), 信区: Linux
标  题: shadow password(zz)
发信站: BBS 荔园晨风站 (Fri Jan 21 00:59:23 2000), 站内信件

【 以下文字转载自 georgehill 的信箱 】
【 原文由 georgehill.bbs@bbs.whnet.edu.cn 所发表 】
发信人: wyvern (龙的传人), 信区: UNIX
标  题: shadow password(zz)
发信站: 武汉白云黄鹤站 (Thu Jan 20 12:08:12 2000), 站内信件

★ 您将可以在 linux.csie.nctu.edu.tw 的 gopher server 中取得这份文件 !


        0. 前言 :
           真希望 shadow password 会变成 Linux Distribution 的 default,

           那就可以省掉很多很多麻烦了....

        1. shadow 的优缺 :
           shadow 将 user 真正编码後的密码放在 /etc/shadow 中, 而在原
           /etc/passwd 中密码栏为一 *, 而 /etc/shadow 只有 root 跟属於
           shadow group 的人才能读取密码.  因此增加了安全性, 相对的也
           增加了应用程式的不便.   因此一些须要读取密码的应用程式须要
           跟 libshadow.a 连结, 也要 setgid 给 shadow, 有时甚至得修改
           source code 中有关 getpass() crypt() 的部份.  此外, shadow
           对 account 可有 expire date 并有 /etc/login.defs 对 login
           作控制及设定, 也是一大优点.



        2. 要到那去抓呢 ?
           ftp.edu.tw:/Op/Linux/packages/Admin 中有 shadow-3.3.1.tar.
gz
           而 shadow-3.3.2.patch 是为 linux 作的 patch, 并不是真的3.3.
2
           版.  而我个人曾自己修改 shadow-3.3.1 并增加一些功能, 放在
           ftp.edu.tw:/Op/Linux/collect/source/shadow/private 下, 您亦
           可试试.

        3. 如何安装 ?
           解开後应该打 make 就行了, 没 error 後打 make save, 会备份旧的

           util 到 save/ 下, 再打 make install.
           然後用 whereis 找一下 passwd/chsh/chfn/.. 等看看有没有重复的
,
           杀掉旧的 binary.   再来 ..
           1) cd /etc
           2) pwconv
           3) mv -f npasswd passwd
           4) mv -f nshadow shadow
           5) touch gshadow
           6) chmod 640 shadow gshadow
           7) chown root.shadow shadow gshadow
           8) 用 pwck, grpck 检查一下是否有 error.
           检查一下 /etc/login.defs 存不存在, 并改一下内容, 由其是
mail
           那行.  试著 login 一下, 再试试 passwd/chfn/chsh 等, 没问题就


           那行.  试著 login 一下, 再试试 passwd/chfn/chsh 等, 没问题就

           恭喜了.

        4. 如何 compile 跟密码有关的程式 ?!
           换 shadow 後, 有些东西如 ftpd, sudo, screen 等须要重
compile,
           首先能找到已为 shadow 改过的程式是最好, 找不到时就得自己改啦
.
           以下是须要注意的 :
           0) 在有 getpwnam() getpwuid() crypt() 的 *.c 中 include
<shadow.h>
              并在 Makefile 中加 -lshadow 以跟 shadow-library link, 若作

              出来的程式对密码不能 work, 再参照 1~3 修改.
           1) getpwnam() getpwuid() 取得的 pw_passwd 为 *, 须用
getspnam()
              getspuid() 来取得真正密码. (可参考 /usr/include/shadow.
h)
           2) crypt() 须用 pwd_encrypt() 取代才可用 16 字元的密码.
           3) getpass(), 有的程式用自己的 getpass, 有时只抓 8 字元, 这时

              16 字元的密码就挂了, 改用系统的 getpass() 就好了.

        5. 权限 :
           若不是用 root 执行的程式如 xlock 须要 chgrp shadow, chmod
g+s
           shadow 才能读到 /etc/shadow.

        6. Good luck !!

--
※ 来源:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: 202.114.1.155]
--
※ 转寄:.武汉白云黄鹤站 bbs.whnet.edu.cn.[FROM: 210.39.3.50]
--
※ 转载:·BBS 荔园晨风站 bbs.szu.edu.cn·[FROM: 192.168.1.115]


[回到开始] [上一篇][下一篇]

荔园在线首页 友情链接:深圳大学 深大招生 荔园晨风BBS S-Term软件 网络书店