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