在Linux操作系統(tǒng)中,root的權(quán)限是最高的,也被稱(chēng)為超級(jí)權(quán)限的擁有者。普通用戶(hù)無(wú)法執(zhí)行的操作,root用戶(hù)都能完成,所以也被稱(chēng)之為超級(jí)管理用戶(hù)。
在系統(tǒng)中,每個(gè)文件、目錄和進(jìn)程,都?xì)w屬于某一個(gè)用戶(hù),沒(méi)有用戶(hù)許可其它普通用戶(hù)是無(wú)法操作的,但對(duì)root除外。root用戶(hù)的特權(quán)性還表現(xiàn)在root 可以超越任何用戶(hù)和用戶(hù)組來(lái)對(duì)文件或目錄進(jìn)行讀取、修改或刪除(在系統(tǒng)正常的許可范圍內(nèi));對(duì)可執(zhí)行程序的執(zhí)行、終止;對(duì)硬件設(shè)備的添加、創(chuàng)建和移除等; 也可以對(duì)文件和目錄進(jìn)行屬主和權(quán)限進(jìn)行修改,以適合系統(tǒng)管理的需要(因?yàn)閞oot是系統(tǒng)中權(quán)限最高的特權(quán)用戶(hù));
一、對(duì)超級(jí)用戶(hù)和普通用戶(hù)的理解;
1、什么是超級(jí)用戶(hù);
在所有Linux系統(tǒng)中,系統(tǒng)都是通過(guò)UID來(lái)區(qū)分用戶(hù)權(quán)限級(jí)別的,而UID為0的用戶(hù)被系統(tǒng)約定為是具有超級(jí)權(quán)限。超級(jí)用戶(hù)具有在系統(tǒng)約定的最高權(quán)限滿(mǎn) 園內(nèi)操作,所以說(shuō)超級(jí)用戶(hù)可以完成系統(tǒng)管理的所有工具;我們可以通過(guò)/etc/passwd 來(lái)查得UID為0的用戶(hù)是root,而且只有root對(duì)應(yīng)的UID為0,從這一點(diǎn)來(lái)看,root用戶(hù)在系統(tǒng)中是無(wú)可替代的至高地位和無(wú)限制權(quán)限。root 用戶(hù)在系統(tǒng)中就是超級(jí)用戶(hù);
2、理解 UID 和用戶(hù)的對(duì)應(yīng)關(guān)系
當(dāng)系統(tǒng)默認(rèn)安裝時(shí),系統(tǒng)用戶(hù)和UID 是一對(duì)一的對(duì)關(guān)系,也就是說(shuō)一個(gè)UID 對(duì)應(yīng)一個(gè)用戶(hù)。我們知道用戶(hù)身份是通過(guò)UID 來(lái)確認(rèn)的,我們?cè)?《用戶(hù)(user)和用戶(hù)組(group)配置文件詳解》中的UID 的解說(shuō)中有談到"UID 是確認(rèn)用戶(hù)權(quán)限的標(biāo)識(shí),用戶(hù)登錄系統(tǒng)所處的角色是通過(guò)UID 來(lái)實(shí)現(xiàn)的,而非用戶(hù)名;把幾個(gè)用戶(hù)共用一個(gè)UID 是危險(xiǎn)的,比如我們把普通用戶(hù)的UID 改為0,和root共用一個(gè)UID ,這事實(shí)上就造成了系統(tǒng)管理權(quán)限的混亂。如果我們想用root權(quán)限,可以通過(guò)su或sudo來(lái)實(shí)現(xiàn);切不可隨意讓一個(gè)用戶(hù)和root分享同一個(gè)UID ;"
在系統(tǒng)中,能不能讓UID 和用戶(hù)是一對(duì)多的關(guān)系?是可以的,比如我們可以把一個(gè)UID為0這個(gè)值分配給幾個(gè)用戶(hù)共同使用,這就是UID 和用戶(hù)的一對(duì)多的關(guān)系。但這樣做的確有點(diǎn)危險(xiǎn);相同UID的用戶(hù)具有相同的身份和權(quán)限。比如我們?cè)谙到y(tǒng)中把beinan這個(gè)普通用戶(hù)的UID改為0后,事 實(shí)上這個(gè)普通用戶(hù)就具有了超級(jí)權(quán)限,他的能力和權(quán)限和root用戶(hù)一樣;用戶(hù)beinan所有的操作都將被標(biāo)識(shí)為root的操作,因?yàn)閎einan的 UID為0,而UID為0的用戶(hù)是root ,是不是有點(diǎn)擾口?也可以理解為UID為0的用戶(hù)就是root ,root用戶(hù)的UID就是0;
UID和用戶(hù)的一對(duì)一的對(duì)應(yīng)關(guān)系 ,只是要求管理員進(jìn)行系統(tǒng)管理時(shí),所要堅(jiān)守的準(zhǔn)則,因?yàn)橄到y(tǒng)安全還是第一位的。所以我們還是把超級(jí)權(quán)限保留給root這唯一的用戶(hù)是最好的選擇;
如果我們不把UID的0值的分享給其它用戶(hù)使用,只有root用戶(hù)是唯一擁有UID=0的話(huà),root用戶(hù)就是唯一的超級(jí)權(quán)限用戶(hù);
3、普通用戶(hù)和偽裝用戶(hù)
與超級(jí)用戶(hù)相對(duì)的就是普通用戶(hù)和虛擬(也被稱(chēng)為偽裝用戶(hù)),普通和偽裝用戶(hù)都是受限用戶(hù);但為了完成特定的任務(wù),普通用戶(hù)和偽裝用戶(hù)也是必須 的;Linux是一個(gè)多用戶(hù)、多任務(wù)的操作系統(tǒng),多用戶(hù)主要體現(xiàn)在用戶(hù)的角色的多樣性,不同的用戶(hù)所分配的權(quán)限也不同;這也是Linux系統(tǒng)比Windows系統(tǒng)更為安全的本質(zhì)所在,即使是現(xiàn)在最新版本的Windows 2003 ,也無(wú)法抹去其單用戶(hù)系統(tǒng)的烙印;
二、超級(jí)用戶(hù)(權(quán)限)在系統(tǒng)管理中的作用
超級(jí)權(quán)限用戶(hù)(UID為0的用戶(hù))到底在系統(tǒng)管理中起什么作用呢?主要表現(xiàn)在以下兩點(diǎn);
1、對(duì)任何文件、目錄或進(jìn)程進(jìn)行操作;
但值得注意的是這種操作是在系統(tǒng)最高許可范圍內(nèi)的操作;有些操作就是具有超級(jí)權(quán)限的root也無(wú)法完成;
比如/proc 目錄,/proc 是用來(lái)反應(yīng)系統(tǒng)運(yùn)行的實(shí)時(shí)狀態(tài)信息的,因此即便是root也無(wú)能為力;它的權(quán)限如下
[root@localhost ~]# pwd
/root
[root@localhost ~]# cd /
[root@localhost /]# ls -ld /proc/
dr-xr-xr-x 134 root root 0 2005-10-27 /proc/
就是這個(gè)目錄,只能是讀和執(zhí)行權(quán)限,但絕對(duì)沒(méi)有寫(xiě)權(quán)限的;就是我們把/proc 目錄的寫(xiě)權(quán)限打開(kāi)給root,root用戶(hù)也是不能進(jìn)行寫(xiě)操作;
[root@localhost ~]# chmod 755 /proc
[root@localhost /]# ls -ld /proc/
drwxr-xr-x 134 root root 0 2005-10-27 /proc/
[root@localhost /]# cd /proc/
[root@localhost proc]# mkdir testdir
mkdir: 無(wú)法創(chuàng)建目錄'testdir': 沒(méi)有那個(gè)文件或目錄
2、對(duì)于涉及系統(tǒng)全局的系統(tǒng)管理;
硬件管理、文件系統(tǒng)理解、用戶(hù)管理以及涉及到的系統(tǒng)全局配置等等……如果您執(zhí)行某個(gè)命令或工具時(shí),提示您無(wú)權(quán)限,大多是需要超級(jí)權(quán)限來(lái)完成;
比如用adduser來(lái)添加用戶(hù),這個(gè)只能用通過(guò)超級(jí)權(quán)限的用戶(hù)來(lái)完成;
3、超級(jí)權(quán)限的不可替代性;
由于超級(jí)權(quán)限在系統(tǒng)管理中的不可缺少的重要作用,為了完成系統(tǒng)管理任務(wù),我們必須用到超級(jí)權(quán)限;在一般情況下,為了系統(tǒng)安全,對(duì)于一般常規(guī)級(jí)別的應(yīng)用,不 需要root用戶(hù)來(lái)操作完成,root用戶(hù)只是被用來(lái)管理和維護(hù)系統(tǒng)之用;比如系統(tǒng)日志的查看、清理,用戶(hù)的添加和刪除……
在不涉及系統(tǒng)管理的工作的環(huán)境下,普通用戶(hù)足可以完成,比如編寫(xiě)一個(gè)文件,聽(tīng)聽(tīng)音樂(lè);用gimp 處理一個(gè)圖片等…… 基于普通應(yīng)用程序的調(diào)用,大多普通用戶(hù)就可以完成;
當(dāng)我們以普通權(quán)限的用