Unix操作系統(tǒng)優(yōu)先性問題
在Unix操作系統(tǒng)中,可以利用兩個文件來統(tǒng)一管理客戶端的連接。誰可以訪問Unix服務(wù)器,都有這兩個文件說了算。也就是說,這Hosts.allow與Hosts.deny兩個文件就好像是Unix服務(wù)器的“看門狗”,它決定了哪些客戶端可以訪問Unix服務(wù)器,哪些則不行。
如果Unix操作系統(tǒng)工程師允許某些計算機(jī)可以訪問這臺服務(wù)器則可以在Hosts.allow文件中定義允許訪問的計算機(jī)。反之,如果系統(tǒng)工程師不希望特定的計算機(jī)可以訪問服務(wù)器,則應(yīng)該在hosts.deny文件中定義拒絕訪問服務(wù)器的計算機(jī)。
當(dāng)系統(tǒng)的進(jìn)程在接受來自客戶端的服務(wù)請求后,Unix操作系統(tǒng)會先檢查Hosts.allow文件,看看是否允許此客戶端的訪問,如果允許訪問的話則會將這個請求轉(zhuǎn)送到特定的服務(wù)程序。如果在hosts.allow文件中沒有這個客戶端允許的紀(jì)錄,則會檢查hosts.deny文件的內(nèi)容。如果這個客戶端的IP地址等信息出現(xiàn)在這個文件中,則客戶端的這個請求將會被拒絕。
1、 兩個文件的優(yōu)先性問題。
在Unix操作系統(tǒng)眼中這兩個文件的地位是不同的。這是系統(tǒng)工程師需要明確的***個內(nèi)容。Unix操作系統(tǒng)會先檢查Hosts.allow文件的內(nèi)容。如果在這里有符合的紀(jì)錄,則會馬上轉(zhuǎn)發(fā)這個客戶端的請求,而不會去考慮Hosts.deny中的內(nèi)容。如果系統(tǒng)工程師以前有Cisco網(wǎng)絡(luò)產(chǎn)品管理的經(jīng)驗(yàn),對于這一點(diǎn)就很好理解。
因?yàn)槠涔ぷ髟砀伎坡酚善鞯脑L問控制列表工作原理類似。只要在前面的紀(jì)錄中找到符合要求的項(xiàng)目,則會忽略后續(xù)的內(nèi)容。如現(xiàn)在有一個客戶端,其IP地址為192.168.0.4。在以上兩個文件中,都有這個客戶端的信息。即在前面一個文件中允許這個客戶端連接到Unix服務(wù)器中,而在后面一個文件中卻又禁止其連接。
那么這個互相矛盾的設(shè)置,哪一個設(shè)置更有效力呢?由于Unix服務(wù)器是先檢查Hosts.allow文件,故最終Unix操作系統(tǒng)允許用戶連接到服務(wù)器。
系統(tǒng)管理員不要認(rèn)為這是Unix操作系統(tǒng)中的漏洞。其實(shí)Unix操作系統(tǒng)是故意這么設(shè)計的。這個特性在實(shí)際應(yīng)用中非常的有效。如某個財務(wù)管理軟件的服務(wù)器,就只允許財務(wù)部門的四個員工以及系統(tǒng)管理員可以連接上去。
此時就可以把這五個用戶的信息放入到hosts.allow文件中,然后在hosts.deny文件中填入ALL內(nèi)容即可(表示全部計算機(jī)都不能夠連接Unix服務(wù)器)。因?yàn)閔osts.allow文件優(yōu)先,故最終Unix操作系統(tǒng)只允許特定的五個用戶可以連接到財務(wù)管理軟件服務(wù)器中,從而提高財務(wù)管理軟件的安全性??梢娺@個特性在實(shí)際工作中,具有很大的用途。
我們這次關(guān)于Unix操作系統(tǒng)就講解到這里。
【編輯推薦】