一.權(quán)限控制機(jī)制
Linux系統(tǒng)是個(gè)多用戶系統(tǒng),能做到不同的用戶能同時(shí)訪問不同的文件,因此一定要有文件權(quán)限控制機(jī)制。Linux系統(tǒng)的權(quán)限控制機(jī)制和Windows的權(quán)限控制機(jī)制有著很大的差別。Linux的文件或目錄被一個(gè)用戶擁有時(shí),這個(gè)用戶稱為文件的擁有者(或文件主),同時(shí)文件還被指定的用戶組所擁有,這個(gè)用戶組稱為文件所屬組。一個(gè)用戶可以是不同組的成員,這可以由管理員控制。文件的權(quán)限由權(quán)限標(biāo)志來決定,權(quán)限標(biāo)志決定了文件的擁有者、文件的所屬組、其他用戶對文件訪問的權(quán)限。
用戶和權(quán)限
1.基本概念
(1)文件主 Linux為每個(gè)文件都分配了一個(gè)所有者,稱為文件主,并賦予文件主唯一的注冊名。對文件的控制取決于文件主或超級用戶(root)。
文件的所屬關(guān)系是可以改變的,你可以將文件或目錄的所有權(quán)轉(zhuǎn)讓給其他用戶,但只有文件主或root才有權(quán)改變文件的所屬關(guān)系。可以用chown命令更改某個(gè)文件或目錄的所有權(quán)。例如,超級用戶把自己的一個(gè)文件復(fù)制給用戶user1,為了讓用戶user1能夠訪問這個(gè)文件,超級用戶(root)應(yīng)該把這個(gè)文件的屬主設(shè)為user1,否則,用戶user1無法訪問這個(gè)文件。如果改變了文件或目錄的所有權(quán),原文件主將不再擁有該文件或目錄的控制權(quán)
(2)用戶組 Linux下,每個(gè)文件又屬于一個(gè)用戶組。當(dāng)創(chuàng)建一個(gè)文件或目錄時(shí),系統(tǒng)會賦予它一個(gè)用戶組關(guān)系,chgrp命令可以改變文件的組關(guān)系。
(3)訪問權(quán)限 Linux系統(tǒng)中的每個(gè)文件和目錄都有訪問權(quán)限,用它來確定誰可以通過何種方式對文件和目錄進(jìn)行訪問和操作。
2.訪問權(quán)限
Linux系統(tǒng)中規(guī)定了3種不同類型的用戶:文件主(user)、同組用戶(group)、可以訪問系統(tǒng)的其他用戶(others)。
訪問權(quán)限規(guī)定3種訪問文件或目錄的方式:讀(r)、寫(w)、可執(zhí)行或查找(x)
(1)文件訪問權(quán)限
讀權(quán)限(r)表示只允許指定用戶讀取相應(yīng)文件的內(nèi)容,禁止對它做任何的更改操作。寫權(quán)限(w)表示允許指定用戶打開并修改文件。執(zhí)行權(quán)限(x)表示允許指定用戶將該文件作為一個(gè)程序執(zhí)行。
(2)目錄訪問權(quán)限
在ls命令后加上-d選項(xiàng),可以了解目錄文件的使用權(quán)限。讀權(quán)限(r)表示可以列出存儲在該目錄下的文件,即讀目錄內(nèi)容。寫權(quán)限(w)表示允許你從目錄中刪除或創(chuàng)建新的文件或目錄。執(zhí)行權(quán)限(x)表示允許你在目錄中查找,并能用cd命令將工作目錄切換到該目錄。用chmod命令可改變文件或目錄的訪問權(quán)限。例如:
1.chmod命令
功能:chmod命令用于改變或設(shè)置文件或目錄的訪問權(quán)限。
格式:chmod[選項(xiàng)]模式文件或目錄名
說明:只有文件主或超級用戶root才有權(quán)用chmod改變文件或目錄的訪問權(quán)限。
選項(xiàng)參數(shù):
◆-c:若文件或目錄權(quán)限確實(shí)已經(jīng)更改,才顯示其更改動作。
◆-f:若文件或目錄權(quán)限無法被更改也不要顯示錯(cuò)誤信息。
◆-v:顯示權(quán)限變更的詳細(xì)資料。
◆-R:對目前目錄下的所有檔案與子目錄進(jìn)行相同的權(quán)限變更(即以遞歸式的方式逐個(gè)變更)。
設(shè)定文件權(quán)限時(shí),在模式中常用以下的字母代表用戶或用戶組:
◆u(user)表示文件的所有者。
◆g(group)表示文件的所屬組。
◆o(others)表示其他用戶。
◆a(all)代表所有用戶(即u+g+o)。
權(quán)限用以下字符表示:r表示讀權(quán)限;w表示寫權(quán)限;x表示執(zhí)行權(quán)限。最后要指明是增加(+)還是取消(-)權(quán)限,或是只賦予權(quán)限(=)。
2.chown命令
功能:改變某個(gè)文件或目錄的擁有者和所屬的組。
格式:chown[選項(xiàng)]用戶或組文件名
說明:只有文件主和超級用戶才可以使用該命令。同時(shí)改變文件主和文件所屬的組時(shí),用戶名和用戶組名由冒號分開。在文件名中可以包含通配符。
參數(shù)選項(xiàng):
◆-R遞歸式地改變指定目錄及其所有子目錄、文件的文件主。
3.chgrp命令
功能:改變文件或目錄的所屬組。
格式:chgrp[選項(xiàng)]組名文件名
說明:如果用戶不是該文件的文件主或超級用戶,則不能改變該文件或目錄的所屬組。chown可以同時(shí)改變文件擁有者和所屬組,chgrp只具有改變所屬組的功能。
參數(shù)選項(xiàng):
◆-R遞歸式地改變指定目錄及其下面的所有子目錄和文件的用戶組。
4.umask命令
功能:用來設(shè)置新建文件權(quán)限的掩碼。
格式:umask[模式]
說明:模式為新建文件權(quán)限的掩碼值。
文件訪問權(quán)限可以通過chmod命令來修改。當(dāng)用戶創(chuàng)建一個(gè)新文件后,如果不使用chmod修改權(quán)限,則這個(gè)文件的權(quán)限是什么呢?這個(gè)文件的權(quán)限由系統(tǒng)默認(rèn)權(quán)限和默認(rèn)權(quán)限掩碼共同確定,它等于系統(tǒng)默認(rèn)權(quán)限減去默認(rèn)權(quán)限掩碼。Linux系統(tǒng)中目錄的默認(rèn)權(quán)限是777,文件的默認(rèn)權(quán)限是666。因此,有以下公式:
◆新目錄的權(quán)限=777-默認(rèn)權(quán)限掩碼
◆新文件的權(quán)限=666-默認(rèn)權(quán)限掩碼
◆注意:基于安全原因,Linux系統(tǒng)不允許文件的默認(rèn)權(quán)限有執(zhí)行權(quán)。不帶任何參數(shù)的umask命令顯示當(dāng)前的默認(rèn)權(quán)限掩碼值。下面講解Linux用戶管理。
二.Linux用戶管理
Linux是一個(gè)多任務(wù)、多用戶的操作系統(tǒng),要能做到不同的用戶能同時(shí)訪問不同的文件,允許不同的用戶從本地登錄或遠(yuǎn)程登錄,這時(shí)用戶必須擁有一個(gè)合法的賬號,Linux系統(tǒng)正是通過賬號來實(shí)現(xiàn)對用戶的訪問進(jìn)行控制的,因此,需要對用戶與組進(jìn)行有效的管理。Linux操作系統(tǒng)下的用戶:
1.用戶
Linux下的用戶可以分為三類:超級用戶、系統(tǒng)用戶和普通用戶。超級用戶的用戶名為root,它具有一切權(quán)限,只有進(jìn)行系統(tǒng)維護(hù)(例如建立用戶等)或其他必要情形下才用超級用戶登錄,以避免系統(tǒng)出現(xiàn)安全問題。系統(tǒng)用戶是Linux系統(tǒng)正常工作所必需的內(nèi)建的用戶,主要是為了滿足相應(yīng)的系統(tǒng)進(jìn)程對文件屬主的要求而建立的,系統(tǒng)用戶不能用來登錄,如bin、daemon、adm、lp等用戶。
而普通用戶是為了讓使用者能夠使用Linux系統(tǒng)資源而建立的,我們的大多數(shù)用戶屬于此類。每個(gè)用戶都有一個(gè)數(shù)值,稱為UID。超級用戶的UID為0,系統(tǒng)用戶的UID一般為1~499,普通用戶的UID為500~60000之間的值。
2.賬號系統(tǒng)文件
Linux系統(tǒng)采用純文本文件來保存賬號的各種信息,其中最重要的文件有/etc/passwd、/etc/shadow、/etc/group這幾個(gè)。我們可以使用vi或其他編輯器來更改它們,也可以使用專門的命令來更改它們。賬號的管理實(shí)際上就是對這幾個(gè)文件的內(nèi)容進(jìn)行添加、修改和刪除記錄行的操作,不管以哪種形式管理賬號,了解這幾個(gè)文件的內(nèi)容十分必要。
(1)/etc/passwd文件:是賬號管理中最重要的一個(gè)文件,它是一個(gè)純文本文件。每一個(gè)注冊用戶在該文件都有一個(gè)對應(yīng)的記錄行,這一記錄行記錄了此用戶的必要信息。
例1:顯示/etc/passwd文件。
#cat/etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
從passwd文件中可以看到,第一行是root用戶,緊接的是系統(tǒng)用戶,普通用戶通常在文件的尾部。passwd文件中的每一行由7個(gè)字段的數(shù)據(jù)組成,字段之間用“:”分隔,其格式如下:
◆賬號名稱:密碼:UID:GID:個(gè)人資料:主目錄:Shell
說明如下:
◆賬號名稱:用戶登錄Linux系統(tǒng)時(shí)使用的名稱。
◆密碼:這里的密碼是經(jīng)過加密后的密碼,而不是真正的密碼,若為“x”,說明密碼經(jīng)過了shadow的保護(hù)。
◆UID:用戶的標(biāo)識,是一個(gè)數(shù)值,Linux系統(tǒng)內(nèi)部使用它來區(qū)分不同的用戶。
◆GID:用戶所在組的標(biāo)識,是一個(gè)數(shù)值,Linux系統(tǒng)內(nèi)部使用它來區(qū)分不同的組,相同的組具有相同的GID。
◆個(gè)人資料:可以記錄用戶的個(gè)人信息,如姓名、電話等信息(上例中test用戶本項(xiàng)為空)。
◆主目錄:通常是/home/username,這里username是用戶名,用戶執(zhí)行“cd~”命令時(shí)當(dāng)前目錄會切換到個(gè)人主目錄。
◆Shell:定義用戶登錄后使用的Shell,默認(rèn)是bash。
(2)/etc/shadow文件:任何用戶對passwd文件都有讀的權(quán)限,雖然密碼已經(jīng)經(jīng)過加密,但還是不能避免有人會獲取加密后的密碼。為了安全,Linux系統(tǒng)對密碼提供了更多一層的保護(hù),即把加密后的密碼重定向到另一個(gè)文件/etc/shadow。密碼如果經(jīng)過shadow保護(hù),在/etc/passwd文件中,每一記錄行的密碼字段會變成“x”,并且在/etc目錄下存在文件shadow。只有超級用戶能夠讀取shadow的內(nèi)容。
(3)pwconv和pwunconv文件:安裝Linux系統(tǒng)時(shí),系統(tǒng)缺省采用shadow來保護(hù)密碼。?如果安裝Linux時(shí)未啟用shadow,可以使用pwconv命令啟用shadow。注意用root用戶登錄來執(zhí)行該命令,執(zhí)行的結(jié)果是/etc/passwd文件中的密碼字段被改為“x”,同時(shí)產(chǎn)生/etc/shadow文件。相反,如果要取消shadow功能,可使用pwunconv命令。
以上講解的是Linux用戶管理
三.組的管理
1.Linux的組
Linux的組有私有組、系統(tǒng)組、標(biāo)準(zhǔn)組之分。建立賬戶時(shí),若沒有指定賬戶所屬的組,系統(tǒng)會建立一個(gè)和用戶名相同的組,這個(gè)組就是私有組,這個(gè)組只容納了一個(gè)用戶。而標(biāo)準(zhǔn)組可以容納多個(gè)用戶,組中的用戶都具有組所擁有的權(quán)利。系統(tǒng)組是Linux系統(tǒng)自動建立的。一個(gè)Linux用戶可以屬于多個(gè)組,用戶所屬的組又有基本組和附加組之分。在用戶所屬組中的第一個(gè)組稱為基本組,基本組在/etc/passwd文件中指定;其他組為附加組,附加組在/etc/group文件中指定。屬于多個(gè)組的用戶所擁有的權(quán)限是它所在的組的權(quán)限之和。
Linux系統(tǒng)關(guān)于組的信息存放在文件/etc/group中。
例:顯示文件/etc/group內(nèi)容。
#cat/etc/group
root:x:0:root,test
bin:x:1:root,bin,daemon
......
test:x:500:
group1:x:1000:
user1:x:501:
group文件中的每一行記錄了一個(gè)組的信息,每行包括4個(gè)字段,字段之間用“:”分隔。
◆格式為組名:組的密碼:GID:組成員。
◆字段說明:
◆組名:組的名稱,如root、bin等。
◆組的密碼:設(shè)置加入組的密碼,一般情況下不使用組密碼,該字段通常沒用。
◆GID:組的標(biāo)識符,為數(shù)值,類似UID。
◆組成員:組所包含的用戶,用戶之間用“,”分隔。
2.用戶組的添加、修改、刪除
(1)添加組
可以手工編輯/etc/group文件來完成組的添加,也可以用命令groupadd來添加組,
命令格式:groupadd組名
例:添加組group1。
#groupaddgroup1
(2)修改組屬性
使用groupmod命令來修改組名或GID。在groupmod-g命令后加上組的新ID號和組名來修改GID。在groupmod-n命令后加上新組名和原組名來修改組名。
3.刪除組
使用groupdel命令來刪除組。
◆格式:groupdel組名
◆說明:組被刪除后,應(yīng)使用chown命令將被刪除用戶組的目錄與文件變?yōu)樗`屬的用戶組。
◆要改變組中的成員用戶或改變組的密碼使用gpasswd命令。
◆格式:gpasswd[參數(shù)][用戶名]組名
◆不帶參數(shù)時(shí),即修改組密碼。
參數(shù)選項(xiàng):
◆-a:將用戶加入到組中。
◆-d:將用戶從組中刪除。
四.Linux用戶管理器
用戶管理器是一個(gè)圖形界面形式的管理工具,利用用戶管理器可以方便地管理用戶和用戶組。根用戶root可以選擇“主菜單”→“系統(tǒng)設(shè)置”→“用戶和組群”(或者在Shell提示符下鍵入redhat-config-users),就打開“RedHat用戶管理器”窗口.
1.創(chuàng)建用戶賬號
在Linux用戶管理器窗口中單擊“添加用戶”按鈕,打開“創(chuàng)建新用戶”對話框。
2.修改用戶屬性
若要修改用戶屬性,首先在Linux用戶管理器窗口中選擇一個(gè)已存在的用戶賬號,然后單擊“屬性”按鈕,則出現(xiàn)“用戶屬性”窗口,在窗口中有“用戶數(shù)據(jù)”、“賬號信息”、“口令信息”和“組群”四個(gè)選項(xiàng)卡。用戶可以選擇相應(yīng)的選項(xiàng)卡進(jìn)行相關(guān)屬性的修改。
3.修改用戶組屬性
在“組群”選項(xiàng)卡中,選擇一個(gè)已存在的用戶組,并單擊“屬性”按鈕打開“組群屬性”窗口,在該窗口中修改設(shè)置用戶組的屬性,將需加入本組的用戶分別打上對號即可。
聯(lián)系客服