Linux操作系統(tǒng)中超級權(quán)限控制的應(yīng)用 |
發(fā)布時(shí)間: 2012/8/26 18:07:36 |
在Linux操作系統(tǒng)中,root的權(quán)限是最高的,也被稱為超級權(quán)限的擁有者。普通用戶無法執(zhí)行的操作,root用戶都能完成,所以也被稱之為超級管理用戶。 在系統(tǒng)中,每個(gè)文件、目錄和進(jìn)程,都?xì)w屬于某一個(gè)用戶,沒有用戶許可其它普通用戶是無法操作的,但對root除外。root用戶的特權(quán)性還表現(xiàn)在root可以超越任何用戶和用戶組來對文件或目錄進(jìn)行讀取、修改或刪除(在系統(tǒng)正常的許可范圍內(nèi));對可執(zhí)行程序的執(zhí)行、終止;對硬件設(shè)備的添加、創(chuàng)建和移除等;也可以對文件和目錄進(jìn)行屬主和權(quán)限進(jìn)行修改,以適合系統(tǒng)管理的需要(因?yàn)閞oot是系統(tǒng)中權(quán)限最高的特權(quán)用戶); 一、對超級用戶和普通用戶的理解 1、什么是超級用戶; 在所有Linux系統(tǒng)中,系統(tǒng)都是通過UID來區(qū)分用戶權(quán)限級別的,而UID為0的用戶被系統(tǒng)約定為是具有超級權(quán)限。超級用戶具有在系統(tǒng)約定的最高權(quán)限滿園內(nèi)操作,所以說超級用戶可以完成系統(tǒng)管理的所有工具;我們可以通過/etc/passwd 來查得UID為0的用戶是root,而且只有root對應(yīng)的UID為0,從這一點(diǎn)來看,root用戶在系統(tǒng)中是無可替代的至高地位和無限制權(quán)限。root用戶在系統(tǒng)中就是超級用戶; 2、理解 UID 和用戶的對應(yīng)關(guān)系 當(dāng)系統(tǒng)默認(rèn)安裝時(shí),系統(tǒng)用戶和UID 是一對一的對關(guān)系,也就是說一個(gè)UID 對應(yīng)一個(gè)用戶。我們知道用戶身份是通過UID 來確認(rèn)的,我們在 《用戶(user)和用戶組(group)配置文件詳解》中的UID 的解說中有談到“UID 是確認(rèn)用戶權(quán)限的標(biāo)識,用戶登錄系統(tǒng)所處的角色是通過UID 來實(shí)現(xiàn)的,而非用戶名;把幾個(gè)用戶共用一個(gè)UID 是危險(xiǎn)的,比如我們把普通用戶的UID 改為0,和root共用一個(gè)UID ,這事實(shí)上就造成了系統(tǒng)管理權(quán)限的混亂。如果我們想用root權(quán)限,可以通過su或sudo來實(shí)現(xiàn);切不可隨意讓一個(gè)用戶和root分享同一個(gè)UID ;” 在系統(tǒng)中,能不能讓UID 和用戶是一對多的關(guān)系?是可以的,比如我們可以把一個(gè)UID為0這個(gè)值分配給幾個(gè)用戶共同使用,這就是UID 和用戶的一對多的關(guān)系。但這樣做的確有點(diǎn)危險(xiǎn);相同UID的用戶具有相同的身份和權(quán)限。比如我們在系統(tǒng)中把beinan這個(gè)普通用戶的UID改為0后,事實(shí)上這個(gè)普通用戶就具有了超級權(quán)限,他的能力和權(quán)限和root用戶一樣;用戶beinan所有的操作都將被標(biāo)識為root的操作,因?yàn)閎einan的UID為0,而UID為0的用戶是root ,是不是有點(diǎn)擾口?也可以理解為UID為0的用戶就是root ,root用戶的UID就是0; UID和用戶的一對一的對應(yīng)關(guān)系 ,只是要求管理員進(jìn)行系統(tǒng)管理時(shí),所要堅(jiān)守的準(zhǔn)則,因?yàn)橄到y(tǒng)安全還是第一位的。所以我們還是把超級權(quán)限保留給root這唯一的用戶是最好的選擇; 如果我們不把UID的0值的分享給其它用戶使用,只有root用戶是唯一擁有UID=0的話,root用戶就是唯一的超級權(quán)限用戶; 3、普通用戶和偽裝用戶 與超級用戶相對的就是普通用戶和虛擬(也被稱為偽裝用戶),普通和偽裝用戶都是受限用戶;但為了完成特定的任務(wù),普通用戶和偽裝用戶也是必須的;Linux是一個(gè)多用戶、多任務(wù)的操作系統(tǒng),多用戶主要體現(xiàn)在用戶的角色的多樣性,不同的用戶所分配的權(quán)限也不同;這也是Linux系統(tǒng)比Windows系統(tǒng)更為安全的本質(zhì)所在,即使是現(xiàn)在最新版本的Windows 2003 ,也無法抹去其單用戶系統(tǒng)的烙。 二. 超級用戶(權(quán)限)在系統(tǒng)管理中的作用 超級權(quán)限用戶(UID為0的用戶)到底在系統(tǒng)管理中起什么作用呢?主要表現(xiàn)在以下兩點(diǎn); 1、對任何文件、目錄或進(jìn)程進(jìn)行操作; 但值得注意的是這種操作是在系統(tǒng)最高許可范圍內(nèi)的操作;有些操作就是具有超級權(quán)限的root也無法完成; 比如/proc 目錄,/proc 是用來反應(yīng)系統(tǒng)運(yùn)行的實(shí)時(shí)狀態(tài)信息的,因此即便是root也無能為力;它的權(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)限,但絕對沒有寫權(quán)限的;就是我們把/proc 目錄的寫權(quán)限打開給root,root用戶也是不能進(jìn)行寫操作; [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: 無法創(chuàng)建目錄‘testdir’: 沒有那個(gè)文件或目錄 2、對于涉及系統(tǒng)全局的系統(tǒng)管理; 硬件管理、文件系統(tǒng)理解、用戶管理以及涉及到的系統(tǒng)全局配置等等......如果您執(zhí)行某個(gè)命令或工具時(shí),提示您無權(quán)限,大多是需要超級權(quán)限來完成; 比如用adduser來添加用戶,這個(gè)只能用通過超級權(quán)限的用戶來完成; 3、超級權(quán)限的不可替代性; 由于超級權(quán)限在系統(tǒng)管理中的不可缺少的重要作用,為了完成系統(tǒng)管理任務(wù),我們必須用到超級權(quán)限;在一般情況下,為了系統(tǒng)安全,對于一般常規(guī)級別的應(yīng)用,不需要root用戶來操作完成,root用戶只是被用來管理和維護(hù)系統(tǒng)之用;比如系統(tǒng)日志的查看、清理,用戶的添加和刪除...... 在不涉及系統(tǒng)管理的工作的環(huán)境下,普通用戶足可以完成,比如編寫一個(gè)文件,聽聽音樂;用gimp 處理一個(gè)圖片等...... 基于普通應(yīng)用程序的調(diào)用,大多普通用戶就可以完成; 當(dāng)我們以普通權(quán)限的用戶登錄系統(tǒng)時(shí),有些系統(tǒng)配置及系統(tǒng)管理必須通過超級權(quán)限用戶完成,比如對系統(tǒng)日志的管理,添加和刪除用戶。而如何才能不直接以root登錄,卻能從普通用戶切換到root用戶下才能進(jìn)行操作系統(tǒng)管理需要的工作,這就涉及到超級權(quán)限管理的問題; 獲取超級權(quán)限的過程,就是切換普通用戶身份到超級用戶身份的過程;這個(gè)過程主要是通過su和sudo 來解決; 本文出自:億恩科技【1tcdy.com】 服務(wù)器租用/服務(wù)器托管中國五強(qiáng)!虛擬主機(jī)域名注冊頂級提供商!15年品質(zhì)保障!--億恩科技[ENKJ.COM] |