解析Unix操作系統(tǒng)安全秘密
大家都知道Unix操作系統(tǒng)的安全性很好。但真的要你說出Unix操作系統(tǒng)到底安全在哪里,估計也沒有人能夠請清楚的說出來。筆者也一下子不能夠把Unix操作系統(tǒng)的安全特性向大家娓娓道來。筆者這里僅僅舉Unix操作系統(tǒng)安裝設計方面的小細節(jié)。估計從這個小細節(jié)中,大家看到Unix工程師在系統(tǒng)安全性與便利性方面所做的努力。
同一個命令不同用戶不同的權限
Date命令是Unix操作系統(tǒng)的一個常用命令,其顯示了系統(tǒng)的日期與時間。但是不同的用戶角色其具有不同的功能。如是系統(tǒng)管理員用戶,則可以通過這個命令來更改系統(tǒng)時間。但是如果執(zhí)行這個命令的用戶是系統(tǒng)普通用戶,那么這個命令則只能夠顯示時間,而無法更改時間。
也就是說,默認情況下,只有系統(tǒng)管理員才可以更改系統(tǒng)時間,但是修改時間與查看時間用的是同一個命令。系統(tǒng)會自動去判斷當前用戶是否有修改時間的權利。
這就是Unix操作系統(tǒng)中一個很有用的安全特性。一方面類似的功能采用同一個命令,方便了系統(tǒng)管理員的操作與維護;另一方面系統(tǒng)會自動對命令的權限進行審查,以保障用戶只能夠利用命令進行與自己權限相符合的操作。
從這里可以看出,Unix操作系統(tǒng)不僅在安全上有保障,其更加看重與安全和便利的一種結(jié)合。不會為了安全,而犧牲管理維護的便利性。
大家都知道,隨意更改系統(tǒng)的日期可能會給系統(tǒng)造成很大的負面影響,會使得一些作業(yè)計劃混亂。如系統(tǒng)當前可能有多個進程在后臺運行,此時系統(tǒng)會根據(jù)進程的優(yōu)先性、管理員定義的作業(yè)計劃等等安排好了這些命令進程執(zhí)行的時間進度表,規(guī)定在某個特定的時刻啟動這些作業(yè)或者進程。此時如果允許一個非管理員員用戶隨意更改系統(tǒng)時間,則系統(tǒng)中的作業(yè)可能會亂了套。
如系統(tǒng)管理員為了系統(tǒng)的安全,設置了每天中午12點30分對系統(tǒng)中的重要文件進行備份。如果在中午12點的時候普通用戶修改了時間,把時間從12點改為了1點。那么此時系統(tǒng)就不會對系統(tǒng)重要文件進行備份。
若不幸的是,在第二天上午由于一些意外導致系統(tǒng)硬盤損壞或者其他系統(tǒng)故障,那么由于前一天沒有正常備份,則損壞的文件將無法修復??梢噪S意更改系統(tǒng)時間會導致很多難以預料的結(jié)果。
所以從這個date命令中就可以看出,Unix操作系統(tǒng)在安全設計上確實比其他操作系統(tǒng)略高一籌。同一個命令不同帳戶具有不同的操作功能,這讓Unix操作系統(tǒng)在安全與便利上達到了同一。
【編輯推薦】