Linux作業系統中超級許可權控制的應用解析

才智咖 人氣:2.41W

在Linux操作系統中,root的許可權是最高的,也被稱為超級許可權的擁有者。普通使用者無法執行的操作,root使用者都能完成,所以也被稱之為超級管理使用者。以下是關於Linux作業系統中超級許可權控制的應用,希望大家認真閱讀!

Linux作業系統中超級許可權控制的應用解析

一、對超級使用者和普通使用者的理解

1、什麼是超級使用者;

在所有Linux系統中,系統都是通過UID來區分使用者許可權級別的,而UID為0的使用者被系統約定為是具有超級許可權。超級使用者具有在系統約定的最高許可權滿園內操作,所以說超級使用者可以完成系統管理的所有工具;我們可以通過/etc/passwd 來查得UID為0的使用者是root,而且只有root對應的UID為0,從這一點來看,root使用者在系統中是無可替代的至高地位和無限制許可權。root使用者在系統中就是超級使用者;

2、理解 UID 和使用者的對應關係

當系統預設安裝時,系統使用者和UID 是一對一的對關係,也就是說一個UID 對應一個使用者。我們知道使用者身份是通過UID 來確認的,我們在 《使用者(user)和使用者組(group)配置檔案詳解》中的UID 的解說中有談到“UID 是確認使用者許可權的標識,使用者登入系統所處的角色是通過UID 來實現的,而非使用者名稱;把幾個使用者共用一個UID 是危險的,比如我們把普通使用者的UID 改為0,和root共用一個UID ,這事實上就造成了系統管理許可權的混亂。如果我們想用root許可權,可以通過su或sudo來實現;切不可隨意讓一個使用者和root分享同一個UID ;”

在系統中,能不能讓UID 和使用者是一對多的關係?是可以的,比如我們可以把一個UID為0這個值分配給幾個使用者共同使用,這就是UID 和使用者的一對多的關係。但這樣做的確有點危險;相同UID的使用者具有相同的身份和許可權。比如我們在系統中把beinan這個普通使用者的UID改為0後,事實上這個普通使用者就具有了超級許可權,他的能力和許可權和root使用者一樣;使用者beinan所有的操作都將被標識為root的操作,因為beinan的UID為0,而UID為0的使用者是root ,是不是有點擾口?也可以理解為UID為0的使用者就是root ,root使用者的UID就是0;

UID和使用者的一對一的對應關係 ,只是要求管理員進行系統管理時,所要堅守的準則,因為系統安全還是第一位的`。所以我們還是把超級許可權保留給root這唯一的使用者是最好的選擇;

如果我們不把UID的0值的分享給其它使用者使用,只有root使用者是唯一擁有UID=0的話,root使用者就是唯一的超級許可權使用者;

3、普通使用者和偽裝使用者

與超級使用者相對的就是普通使用者和虛擬(也被稱為偽裝使用者),普通和偽裝使用者都是受限使用者;但為了完成特定的任務,普通使用者和偽裝使用者也是必須的;Linux是一個多使用者、多工的作業系統,多使用者主要體現在使用者的角色的多樣性,不同的使用者所分配的許可權也不同;這也是Linux系統比Windows系統更為安全的本質所在,即使是現在最新版本的Windows 2003 ,也無法抹去其單使用者系統的烙印;

二. 超級使用者(許可權)在系統管理中的作用

超級許可權使用者(UID為0的使用者)到底在系統管理中起什麼作用呢?主要表現在以下兩點;

1、對任何檔案、目錄或程序進行操作;

但值得注意的是這種操作是在系統最高許可範圍內的操作;有些操作就是具有超級許可權的root也無法完成;

比如/proc 目錄,/proc 是用來反應系統執行的實時狀態資訊的,因此即便是root也無能為力;它的許可權如下

[root@localhost ~]# pwd

/root

[root@localhost ~]# cd /

[root@localhost /]# ls -ld /proc/

dr-xr-xr-x 134 root root 0 2005-10-27 /proc/