歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Unix知識 >> 關於Unix

LinuxShadow-Password-HOWTO-6.upgrade或patc

6.其他你需要升級(upgrade)或補強(patch)程式 即使shadowsuite對大部分需要存取密碼檔的程式可以包含更新程式,但是仍有一些需要存取密碼檔的額外程式在系統中。 如果你正執行Debian版本(或者即使你不是),你可以找到Debian需要rebuild的原始碼: ftp://ftp. 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/aclearcase/" target="_blank" >ccounts/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 是從 .netd/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 放在不同的地方或用不同的名字表示。 


6.3 標准 ftpd 
如果你正在執行標准的 ftpd server,我將建議你更新 wu_ftpd server。離開上述的 bug ,系統會比較安全。 

如果你堅持在標准模式,或者你需要 NIS 支援,在 Sunsite ftpd-shadow-nis.tgz 有參考資料。 


6.4 pop3d (Post Office Protocol 3) 
如果你需要支援第三版 Post Office Protocol (POP3),你將需要重新編譯 pop3d 程式。 pop3d 可以透過 inetd/tcpd 以 root 權限正常的執行。 

從 Sunsite 有兩個版本可以獲得: pop3d-1.00.4.linux.shadow.tar.gz 和 pop3d+shadow+elf.tar.gz

這兩個都很簡單可以安裝。 


6.5 xlock 

如果你安裝 shadow suite,然後執行 X Windows System 和 lock 螢幕沒以更新你的 xlock 檔, 你將必須使用 CNTL-ALT-Fx 去切換另一個 tty,簽入(login)和殺掉(kill) xlock process (或使用 CNTL-ALT-BS 殺掉 X server)。很幸運的這也很容易可以更新你的 xlock 程式。 

如果你正執行 XFree86 Versions 3.x.x,且正正確使用 xlockmore (是一個很棒的螢幕保護程式). 這個套件支援 shadow,只要重新編譯即可。如果你有任何較老的 xlock 版本,我建議你更新下列版本: 

xlockmore-3.5.tgz 可以從 ftp://sunsite.unc.edu/pub/Linux/X11/xutils/screensavers/xlockmore-3.7.tgz 網站獲得。 

基本上這是你所要的。 

撷取 xlockmore-3.7.tgz ,並將它放在 /usr/src 目錄並解壓縮: 

tar -xzvf xlockmore-3.7.tgz

編輯這個檔: /usr/X11R6/lib/X11/config/linux.cf, 和改變 

#define HasShadowPasswd    NO

這一行到:

#define HasShadowPasswd    YES

然後建立可執行檔: 

cd /usr/src/xlockmore
xmkmf
make depend
make

然後搬移所以檔案到正確目錄且更新檔案擁有者及執行權限: 


cp xlock /usr/X11R6/bin/
cp XLock /var/X11R6/lib/app-defaults/
chown root.shadow /usr/X11R6/bin/xlock
chmod 2755 /usr/X11R6/bin/xlock
chown root.shadow /etc/shadow
chmod 640 /etc/shadow


你的 xlock 將可以正確的運作羅! 


6.6 xdm 
xdm 是一個可以表示在 X-Windows 簽入畫面的程式。某些系統開始 xdm 當系統被告知道一個特定的執行水准(參考 /etc/inittab)。 


伴隨著 Shadow Suite 安裝, xdm 需要被更新。很幸運的這也很容易可以更新你的 xdm 程式。 



xdm.tar.gz 可以從下列網址獲得: ftp://sunsite.unc.edu/pub/Linux/X11/xutils/xdm.tar.gz

撷取 xdm.tar.gz 檔並將它放在 /usr/src目錄然後解壓縮: 

tar -xzvf xdm.tar.gz

編輯這個檔: /usr/X11R6/lib/X11/config/linux.cf,且改變 

#define HasShadowPasswd    NO

這一行到:

#define HasShadowPasswd    YES

然後建立可執行檔: 

cd /usr/src/xdm
xmkmf
make depend
make

然後搬移所有檔案正確目錄: 

cp xdm /usr/X11R6/bin/

xdm 以 root 權限在執行,所以你不需要改變檔案存取權限。 



6.7 sudo 
sudo 程式允許系統管理員讓使用者可以以 root 權限正常的執行程式。這是非常方便的因為它可以限制管理者執行 root 帳號本身權限,還可以允許使用者作像 mounte drives 的事情。 

sudo 需要讀取密碼因為在執行時需確認使用者密碼。 sudo 已經執行 SUID root,所以存取 /etc/shadow 黨不是問題。 

sudo 支援 shadow suite 可在下列網址取得: ftp://sunsite.unc.edu/pub/Linux/system/Admin/sudo-1.2-shadow.tgz

警告:當你安裝 sudo 你的 /etc/sudoers 檔將取代預設值,所以你需要備份原始程式。如果你有家任何設定在預設程式,你可能要編輯 Makefile 且移除復制該檔到 /etc 的這行。 


該套件已經對 shadow 進行設定,所以只要重新編譯該套件即可 (把它放在 /usr/src 目錄): 

cd /usr/src
tar -xzvf sudo-1.2-shadow.tgz
cd sudo-1.2-shadow
make all
make install


6.8 imapd (E-Mail [pine package]) 
imapd 是一個像 pop3d 的 email server。 imapd 隨著 Pine E-mail 套件發生。 其操作手冊在介紹該套件時即包含 shadow 支援。然而,我發現這不全然正確。 再加上在編譯時加上 libshadow.a 函式庫和該套件結合 build script / Makefile 是非常不容易的。所以對 imapd 加入 shadow 支援是不太可能的。 


如果有任何答案,可以 Email 給我,我會將該解答放到這裡。 


6.9 pppd (Point-to-Point Protocol Server) 
pppd server 可以使用幾種權限設定: Password Authentication Protocol (PAP) 和 Cryptographic Handshake Authentication Protocol (CHAP)。 pppd server 從 /etc/ppp/chap-secrets 和/或 /etc/ppp/pap-secrets 檔讀取密碼字串。如果你正使用預設 pppd 的執行,就沒有必要再重新安裝 pppd 。 

pppd 以允許你使用 login 參數。 如果 login 選項被選取, pppd 將使用 /etc/passwd 檔的帳號密碼給 PAP. 當然在不久密碼檔會是 shadowedm。pppd-1.2.1d 檔已經加入對 shadow 的支援。 


下一節加入支援 shadow 的□例是針對 pppd-1.2.1d (一個較老版本的 pppd). 

pppd-2.2.0 版就已經包括 shadow 支援羅。 

Copyright © Linux教程網 All Rights Reserved