Linux Shadow-Password-HOWTO - 6. upgrade或patc

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

这一行到:;
#define;SHADOW.PASSWORD

然後,;
cd;../Makefiles

且编辑;Makefile.lnx;档和改变;

LIBES;=;-lsupport;-lbsd;#;-lshadow

这一行到:;
LIBES;=;-lsupport;-lbsd;-lshadow

然後建立(build)和安装(install):;
cd;..
build;lnx
cp;/usr/sbin/wu.ftpd;/usr/sbin/wu.ftpd.old
cp;./bin/ftpd;/usr/sbin/wu.ftpd

注:你应该检查你的;/etc/inetd.conf;档来确认你的;wu.ftpd;server;是不是真的活著 。有些版本可能将;server;daemons;放在不同的地方或用不同的名字表示 。;

推荐阅读