3.HONEYDANBERUUCP
有兩個主要的UUCP版本,第一個是與UNIX系統V一起頒布的,在本節將稱為老UUCP,另一個版本稱為HONEYDANBERUUCP,由AT&T頒布.
HONEYDANBERUUCP較之老UUCP有若干改進:
<1>支持更多的撥號和網絡:
◆智能自動撥號調制解調器以及標準AT&T技術的801自動撥號器.
◆網絡,如DATAKITVCS,UNET/ETHERNET,3COM/ETHERNET,SYTEK,TCP(BSDUNIX系統).
◆連接到LAN的撥號器.
◆X.25永久性虛擬環網(用X.25協議)
<2>重新組織了/usr/spool/uucp目錄,在該目錄下,對每個遠程系統有一個目錄.
<3>加強了安全.
◆USERFILE和L.cmds文件組合成一個文件Permissions.
◆可以在一級級系統上指定遠程可執行命令.
◆可分別控制文件傳入和文件傳出.
◆缺省的安全設置很嚴格.
(1)HONEYDANBERUUCP與老UUCP的差別
HONEYDANBERUUCP中的/usr/lib/uucp/Systems文件是原來UUCP中的/usr/lib/uucp/L.sys.HONEYDANBERUUCP中/usr/spool/uucp/.log下的一個目錄代替了老UUCP的文件/usr/spool/uucp/logFILE./usr/spool/uucp/.log中的目錄uucico,uucp,uux,uuxqt含有相應命令的記錄文件,各目錄對應最近處于活躍狀態的遠程系統都有一個記錄文件(記錄文件在這些目錄中通常保存一個星期).
如果一個調用本系統的遠程系統未列于Systems文件中,uucico將不允許該遠程系統執行任何操作,而是啟動shell程序/usr/lib/uucp/remote.unknown,由UUCP提供的該shell程序的缺省版本將在/usr/spool/uucp/.Admin/Foreign文件中記下遠程系統的登錄時間,日期及系統名.只要使remote.unknown不可執行,就能禁止這一操作,以達到與老UUCP兼容.
C.,D.,X.,TM.等文件存放在/usr/spool/uucp下的不同目錄中,目錄名就是文件對應的遠程系統名.
在HONEYDANBERUUCP中USERFILE與L.cmds文件合并在一起,這個新文件/usr/lib/uucp/Permissions提供了更靈活的授予外系統存取許可的控制.文件中的規則表定義了可以發出請示的各種系統.規則與選項的格式如下.
rule=listoption=yes|nooption=list... |
(2)登錄名規則
LOGNAME規則用于控制作為登錄shell啟動的uucico.
LOGNAME=nuucp
指定對所有登錄到nuucp戶頭下的系統加缺省限制:
◆遠程系統只能發送文件到/usr/spool/uucppublic目錄中.
◆遠程系統不能請求接收任何文件.
◆當uucico調用遠程系統時,才發送已排入隊列要發送到該遠程系統的文件.這是uucico準確地識別遠程系統的唯一方法(任何系統都可調用本系統并冒充是xyz系統).
◆由uuxqtux遠程系統的名義可執行的命令是缺省規定的命令,這些缺省命令在編譯時定義(通常只有rmail,rnews命令).
◆可用冒號分隔開若干個其它系統的uucico的登錄戶頭.
LOGNAME=nuucp:xuucp:yuucp |
一個LOGNAME規則就足夠啟動HONEYDANBERUUCP系統.事實上,當該系統運行時,將在Permissions文件中放一個無選項的LOGNAME規則,該規則應用于在/etc/passwd文件入口項shell域中有/usr/lib/uucp/uucico的所有登錄戶頭.
可使用若干選擇忽略缺省限制,這些選項可組合,允許或限制各種操作.例如可用WRITE選項指定一個或多個送入文件的目錄,而不用被限制送入/usr/spool/uucppublic目錄.
LOGNAME=nuucpWRITE=/ |
遠程UUCP請求可重寫任何有寫許可的文件,可指定多個寫入文件的目錄.用冒號分隔開:
LOGNAME=nnuucpWRITE=/usr:/floppy |
用REQUEST=yes選項可允許遠程系統的用戶從本系統拷貝文件.
LOGNAME=nuucpREQUEST=yes |
LOGNAME=nuucpREQUEST=yesREAD=/usr |
用SENDFILES=yes選項可允許uucico在遠程系統調用本系統時發送出已排隊的文件.
LOGNAME=nuucpSENDFILES=yes |
用CALLBACK=yes選項迫使任何登錄到指定戶頭的系統callback.
注意:CALLBACK=yes不能與其它選項組合作用.如果其它選項與這條選項列在一起,其它選項將被忽略.
NOREAD和NOWRITE選項可分別與READ和WRITE選項一起使用.指定NOREAD選項下的目錄表,可建立對READ選項的例外處理(即指出READ目錄中不能由遠程系統請求的目錄),例如:
LOGNAME=nuucp,REQUEST=yesREAD=/NOREAD=/etc
該規則允許遠程系統請求系統中任何其他人可讀的文件,但不包括/etc中的文件,NOWRITE,WRITE的聯合用法與上類似.
一般來說,不要將缺省限制改得太多.若本系統被另一系統調去存貯電話費用或系統管理員沒有辦法撥出,可以用SENDFILE選項.若要對某些機器取消限制,則應當建立一個僅用于那些機器的uucico登錄戶頭.例如:
LOGNAME=nuucp,REQUEST=yesREAD=/NOREAD=/etc |
如系統有信任和非信任的uucp戶頭,最好用PUBDIR選項為這兩種戶頭建立不同的公共戶頭,PUBDIR允許系統管理員改變uucico對公共目錄的概念(缺省為/usr/spool/uucppublic).例如:
LOGNAME=nuucpSENDFILES=yesREQUEST=yes\ PUBDIR=/usr/spool/uucppublic/nuucp LOGNAME=trustedSENDFILES=yesREQUEST=yesREAD=/WRITE=/\ PUBDIR=/usr/spool/uucppublic/trusted |
用MYNAME選項可以給登錄進某一戶頭的系統賦與一個系統名:
LOGNAME=XuucpMYNAME=IOnker |
(3)MACHINE規則
MACHINE規則用于忽略缺省限制,在MACHINE規則中指定一個系統名表,就可使uucico調用這些系統時改變缺省限制.READ,WRITE,REQUEST,NOREAD,NOWRITE,PUBDIR選項的功能與LOGNAME相同.忽略CALLBACK,SENDFILES選項,MYNAME選項所定義的必須與LOGNAME規則聯用,指定將賦給調用系統的名,該名僅當調用所定義的系統時才用.
MACHINE規則的格式如下:
MACHINE=zuul:gozur:enigmaWRITE=/READ=/ |
系統名OTHER用于為指定用戶外的所有其他用戶建立MACHINE規則.
COMMANDS選項用于改變uuxqt通過遠程請求執行的缺省命令表.
MACHINE=zuulCOMMANDS=rmail:rnews:lp |
COMMANDS選項所指定的命令將用缺省設置的路徑PATH.PATH在編輯uuxqt時被建立通常設置為/bin:/usr/bin.在COMMANDS選項中給出全路徑名可以忽略缺省PATH.
MACHINE=zuulCOMMANDS=umail:/usr/local/bin/rnews:lp |
有兩種方法可以證實系統的身份.一種方法是拒絕用CALLBACK=yes與調用系統對話.只要電話和網絡線未被破密或改變,局域系統就能肯定地確認遠程系統的身份.另一種方法是在LOGNAME規則中用VALIDATE選項.若必須允許某些系統運行"危險"的命令,可聯用COMMANDS和VALIDATE選項,
VALIDATE選項用于LOGNAME規則中指定某系統必須登錄到LOGNAME規定的登錄戶頭下:
LOGNAME=trustedVALIDATE=zuul MACHINE=COMMANDS=rmail:rnews:lp |