【 tulaoshi.com - Linux 】
                             
                               6. 其他你需要升级(upgrade)或补强(patch)程式 
即使 shadow suite 对大部分需要存取密码档的程式可以包含更新程式,但是仍有一些需要存取密码档的额外程式在系统中。  
如果你正执行 Debian 版本 (或者即使你不是),你可以找到 Debian 需要 rebuild 的原始码: ftp://ftp.debian.org/debian/stable/source/  
这节剩馀的部分在讨论更新 adduser, wu_ftpd, ftpd, pop3d, xlock,xdm 和 sudo 程式以便於让这些程式支援 shadow suite。  
请看 Adding Shadow Support to a C program 这节,主要是在讨论如何将 shadow 支援放到其他需要程式(虽然这些程式需要以 SUID root 执行或 SGID shadow 需正确存取 shadow 档)。  
6.1 Slackware adduser 程式  
Slackware 版本包含一个新增使用者的交互程式叫做 /sbin/adduser。该程式的 shadow 版本可以在 ftp://sunsite.unc.edu/pub/Linux/system/ Admin/accounts/adduser.shadow-1.4.tar.gz找到。  
我很鼓励你使用 Shadow Suite 供应的程式(例如useradd, usermod, 和 userdel) 来取代 slackware 的adduser 程式。 它们只需花一点时间学习,但是它将值得的,因为你可以看到更多控制和在正确展现锁住 /etc/passwd 和 /etc/shadow 的档案(adduser 就没有办法罗)。  
参考 Putting the Shadow Suite to use 该节得到更多相关资讯。  
但是如果你已经拥有罗,接下来是你要做的部分:  
tar -xzvf adduser.shadow-1.4.tar.gz 
cd adduser 
make clean 
make adduser 
chmod 700 adduser 
cp adduser /sbin 
6.2 wu_ftpd Server  
大部分的 Linux 系统都有 wu_ftpd server。 如果你的版本没有附带 shadow 安装,那麽你的 wu_ftpd 就没有办法对 shadow 编译。 wu_ftpd 是从 inetd/tcpd 开始且以 root 权限执行的程式。 如果你正在跑一个旧版的 wu_ftpd daemon, 无论如何你将要更新它因为较旧版本有 bug 将危及 root 权限。(参考 Linux security home page 得到更多相关资讯)。  
幸运的是你只需要取的有嵌入 shaow 的原始码和重新编译就可以罗!  
如果你不是正在执行 ELF 系统, wu_ftp server 可以从 Sunsite 网址 wu-ftp-2.4-fixed.tar.gz 找到。  
当你获得这个 server,把它放在 /usr/src目录,然後输入:  
cd /usr/src 
tar -xzvf wu-ftpd-2.4-fixed.tar.gz 
cd wu-ftpd-2.4-fixed 
cp ./src/config/config.lnx.shadow ./src/config/config.lnx 
然後编辑 ./src/makefiles/Makefile.lnx,和改变  
LIBES    = -lbsd -support 
这一行到:  
LIBES    = -lbsd -support -lshadow 
现在你已经准备好执行 script 建立跟安装:  
cd /usr/src/wu-ftpd-2.4-fixed 
/usr/src/wu-ftp-2.4.fixed/build lnx 
cp /usr/sbin/wu.ftpd /usr/sbin/wu.ftpd.old 
cp ./bin/ftpd /usr/sbin/wu.ftpd 
这是用在 Linux shadow configuration file、编译和安装 server。  
在我的 Slackware 2.3 系统,我也需要在执行前作下列步骤:  
build:  
cd /usr/include/netinet 
ln -s in_systm.h in_system.h 
cd - 
在 ELF 系统下会有编译问题的报告,但是下一版的 Beta 版则可以正确的执行。可以从 wu-ftp-2.4.2-beta-10.tar.gz 找到。  
当你获得这个 server,把它放在 /usr/src目录,然後输入:  
cd /usr/src 
tar -xzvf wu-ftpd-2.4.2-beta-9.tar.gz 
cd wu-ftpd-beta-9 
cd ./src/config 
然後编辑 config.lnx,和改变:  
#undef SHADOW.PASSWORD 
这一行到: