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