Linux的用戶和組羣管理(轉)

Linux 是一個多用戶的操作系統,用戶和用戶組的管理是系統管理員的重要工作之一。本文的內容包括如何利用圖形化工具 rfuser 和在命令行界面下完成用戶賬號、工作組的建立和維護,並正確設置用戶權限和安全性問題。

利用圖形配置工具 rfuser 與使用命令進行用戶/用戶組管理完成的是同樣的工作,不同之處在於圖形工具的操作界面友好直觀,用戶也不必去記憶大量的命令和參數。

概述

在 Linux 系統中,每個用戶對應一個帳號。Red Flag Server 4.1 安裝完成後,系統本身已創建了一些特殊用戶,它們具有特殊的意義,其中最重要的是超級用戶,即 root。

超級用戶承擔了系統管理的一切任務,可以不受限制地進行任何操作,因此建議只有在完全必要的情況下才以 root 身份進行操作。

由超級用戶創建允許登錄系統的普通用戶,一般超級用戶也需要爲自己建立一個用來處理一般事務的普通帳戶。

下面是用戶和組羣管理的一些基本概念:

用戶名: 系統中用來標識用戶的名稱,可以是字母、數字組成的字符串,區分大小寫。

用戶標識UID: 系統中用來標識用戶的數字。

用戶主目錄: 系統爲每個用戶配置的單獨使用環境,即用戶登錄系統後最初所在的目錄,用戶的文件都放置在此目錄下。

登錄shell: 用戶登錄後啓動以接收用戶的輸入並執行輸入相應命令的程序,如/bin/bash、

/bin/csh。

用戶組/組羣: 具有相似屬性的多個用戶被分配到一個組中。

組標識GID: 用來表示用戶組的數字標識

超級用戶在系統中的用戶ID和組ID都是0。

普通用戶的用戶 ID(UID)從500開始編號,並且默認屬於與用戶名同名的組。組 ID(GID)

也從500開始編號。

用su命令改變身份

用戶在系統使用過程中可以隨時使用 su 命令來改變身份。例如,系統管理員在平時工作時可以用普通帳號登錄,在需要進行系統維護時用 su 命令獲得 root 權限,之後再用 su 回到原帳號。

su 的語法爲:su

username 是要切換到的用戶名,如果不指定用戶名,則默認將用戶身份切換爲 root,系統會要求給出正確的口令。

默 認情況下,只要知道 root 口令,任何用戶都可以通過 su 命令切換到 root 身份,這是一個安全漏洞。所以我們強烈建議:只有 wheel 組成員纔可以通過 su 命令轉換爲root。實現的辦法是修改 /etc/pam.d/su 文件,取消對如下一句“auth required

/lib/security/$ISA/pam_wheel.so use_uid”的註釋。

系統中的用戶管理配置文件

/etc/passwd 文件

Red Flag Server 4.1 系統中用於管理用戶帳號的基本文件是 /etc/passwd,該文件中包含了系統中所有用戶的用戶名和它們的相關信息。每個用戶帳號在文件中對應一行,並且用冒號(;)分爲七個域。

每一行的形式如下:

用戶名:加密的口令:用戶ID:組ID:用戶的全名或描述:登錄目錄:登錄shell

下面是 root 用戶在此文件中對應的行:

root:X:0:0:root:/root:/bin/bash

Linux 系統將每一個用戶僅僅看成是一個數字,即用每個用戶惟一的用戶 ID 來識別,配置文件

/etc/passwd 給出了系統用戶 ID 與用戶名之間及其他信息的對應關係。

/etc/passwd 文件對系統的所有用戶都是可讀的,這樣的好處是每個用戶都可以知道系統上有哪些用戶,但缺點是其他用戶的口令容易受到攻擊(尤其當口令較簡單時)。所以在 紅旗 Linux 中使用影子口令格式,將用戶的口令存儲在另一個文件 /etc/shadow 中,該文件只有根用戶 root 可讀,因而大大提高了安全性。

/etc/shadow 文件

爲了保證系統的安全性,系統通常對用戶的口令進行 shadow 處理,並把用戶口令保存到只有超

級用戶可讀的 /etc/shadow 文件中。該文件包含了系統中所有用戶和用戶口令等相關信息。

每個用戶在該文件中對應一行,並且用冒號分成九個域。每一行包括以下內容:

1、 用戶登錄名

2、 用戶加密後的口令,(若爲空,表示該用戶不需口令即可登錄,若爲 * 號,表示該帳號被禁

止)

3、 從1970年1月1日至口令最近一次被修改的天數

4、 口令在多少天內不能被用戶修改

5、 口令在多少天后必須被修改

6、 口令過期多少天后用戶帳號被禁止

7、 口令在到期多少天內給用戶發出警告

8、 口令自1970年1月1日被禁止的天數

9、 保留域

/etc/group 文件

在 Linux 中,使用組來賦予用戶訪問文件的不同權限。組的劃分可以採用多種標準,一個用戶可

同時包含在多個組內。管理用戶組的基本文件是 /etc/group,其中包含了系統中所有用戶組的相關信息。每個用戶組對應文件中的一行,並用冒號分成四個域。其中每一行的形式如下:

用戶組名:加密後的組口令:組ID:組成員列表

下面是用戶組 sys 在 /etc/group 中對應的一行:

sys:x:3:root,bin,adm

代表的信息包括:系統中有一個稱爲 sys 的用戶組,設有口令,組 ID 爲3,組中的成員有 root、

bin、adm 三個用戶。

Red Flag Server 4.1 在安裝中同樣創建了一些標準的用戶組,在一般情況下,建議您不要對這些用戶組進行刪除和修改,除非您完全明白它們的用途和意義。

/etc/skel 目錄

一般來說,每個用戶都有自己的主目錄,用戶成功登錄後就處於自己的主目錄下。主目錄中存放有與用戶相關的文件、命令和配置。當爲新用戶創建主目錄時,系統會在新用戶的主目錄下建立一份

/etc/skel 目錄下所有文件的拷貝,用來初始化用戶的主目錄。

使用rfuser管理用戶與組羣

利用 rfuser 用戶和組羣管理工具,可以輕鬆的管理系統中的用戶和用戶組,包括完成新建、查看、管理帳號、密碼、權限等所有操作。

在控制面板的“系統配置”項中選擇“本地用戶和組”,或在 KDE 桌面環境下使用命令 rfuser ,

即可打開本地用戶和組管理器。

rfuser 工具需要以超級用戶身份運行。

系統缺省創建的用戶和組羣對於系統管理和應用程序的使用有重要的意義,不要隨意修改或刪除它們,尤其是 root 用戶,否則有可能導致系統異常甚至崩潰。

查看用戶和用戶組

在圖2-1所示的本地用戶和組管理主界面中,點擊“用戶”標籤列出本地用戶及其基本信息,包括用戶名、用戶 UID、所屬主組羣、用戶描述信息、登錄 shell 和用戶的主目錄信息;點擊“組”標

籤顯示系統中組羣信息,包括組名稱、組 ID 和組成員。

默認情況下,用戶和組列表中會列出系統中所有的用戶和用戶組信息。如果要想只顯示使用過程中添加的用戶和用戶組信息而不顯示系統內建用戶和用戶組,按下窗口右上方的“隱藏系統帳戶”按鈕,或者在菜單中選擇“工具隱藏系統帳戶”,這時顯示用戶信息.

要恢復顯示所有用戶/用戶組信息,按窗口右上方的“顯示所有帳戶”按鈕,或者在“工具”菜單中選擇“顯示所有帳戶”。

添加新用戶

點 擊工具欄中的“添加新用戶”按鈕,出現“增加新用戶”嚮導。在“用戶信息”窗口中輸入用戶名和描述信息,用戶名的首位必須是英文字母,並且不能與已有的用 戶名重複;“用戶ID”是該用戶在系統中唯一的標識,範圍是1~65535,默認情況下,系統會爲用戶指定一個500以上的標識號,也可以手工指定用戶的 UID號,但推薦由系統自動分配;“登錄shell”一般只需採用默認的/bin/bash;添加用戶時默認會在系統中創建一個用戶主目錄 /home/username ,也可以指定其他的目錄。

點擊“繼續”按鈕進入下一步,在右側的“密碼”和“確認”文本框中輸入至少6位的用戶密碼。

密碼最好是數字、字母及特殊字符的組合,圖方便使用簡單的數字、英語單詞、生日、電話等都可能成爲個人信息安全的隱患。

可以設置用戶密碼的使用期限,選中“永不過期”則用戶密碼永遠有效;選擇“無密碼”表示該用戶不需要密碼就可以登錄系統。

點擊“繼續”按鈕進入“用戶—組關係設置”界面。

從系統已有的用戶組列表中選擇新添加用戶將從屬的組,按“增加->”按鈕加入“隸屬於”列表。

一個用戶可以同時從屬於幾個不同的組,在“主組羣”中選擇用戶所屬的主組名稱。

Red Flag Server 4.1 使用 UPG(user private group)機制,如果在此步驟中沒有選擇新用戶所屬的用戶組,系統會在創建新用戶的同時會默認創建一個和用戶名同名的組。

點擊“繼續”按鈕進入下一步,彈出窗口中顯示了將添加用戶的信息,按下“完成”按鈕,新建的用戶將加入用戶列表。

rfuser 會將新創建的用戶同時加入系統的 samba 用戶列表,即該用戶也同時成爲能夠使

用 SMB 遠程訪問本機文件或打印機的授權用戶。

編輯用戶屬性

要查看或修改一個已存在用戶的屬性,在主界面的用戶列表中選中該用戶雙擊鼠標,或按下工具

欄中的“設置屬性”按鈕,也可以在菜單中選擇“工具設置屬性”,出現圖2-5的的窗口:

用戶屬性窗口分爲三個標籤頁:

用戶信息:查看或修改用戶的基本信息。

密碼:設置或修改用戶口令、用戶帳號的時限,設置當前用戶是否可以登錄系統等。

用戶—組關係:查看或修改用戶所屬的組羣,設置所屬的主組羣等。

編輯完成後按“修改”按鈕使所做的配置生效。

還有一種編輯用戶屬性的方法是:在用戶列表中選擇某一用戶,單擊鼠標右鍵,在快捷菜單中選擇相應的菜單項進行修改。

添加新組

系 統管理過程經常要建立新的組羣,點擊工具欄中的“添加新組羣”按鈕,出現“增加新組羣”對話框。輸入新組羣的名稱,組羣名稱的首位必須是英文字母,並且不 能與已有的組羣名重複。組ID是該組羣在系統中唯一的標識,範圍是1~65535,默認情況下,系統會爲新添的用戶組指定一個500以上的標識號,也可以 手工指定一個標識號,但推薦由系統自動分配。點擊“繼續”按鈕,在右側的視圖中設置組成員信息。從系統的用戶列表中選擇將隸屬於新組的成員,按“增加- >”按鈕加入“組成員”列表。一個組中可以包含多個用戶。

點擊“繼續”按鈕進入下一步,彈出窗口中顯示了將添加用戶組的信息,按下“完成”按鈕,新添的用戶組將出現在組列表中。

編輯組羣屬性

在主界面的組列表中選中一個已存在的組雙擊鼠標右鍵,按工具欄中的“設置屬性”按鈕,或在菜單中選擇“工具設置屬性”,顯示組屬性設置窗口,可以對組羣名稱、組ID、組用戶成員等屬性進行修改。

還有一種編輯組屬性的方法是:在組列表中選擇某組,單擊鼠標右鍵,在快捷菜單中選擇相應的菜單項進行修改。

刪除本地用戶和組

在列表中選擇要刪除的用戶或用戶組,按下工具欄中的“刪除”按鈕,或者在菜單中選擇“工具刪除”,確認是否刪除系統用戶或用戶組。

刪除用戶後,該用戶主目錄及其所有文件也將被刪除。

命令行界面下的用戶和組管理

用戶管理

添加新用戶

在命令行下,超級用戶 root 可以按照以下的步驟來創建新的用戶帳號:

1、 在 shell 提示符下,運行命令 useradd 或 adduser 來增加一個用戶:

如要在系統中加入一個名爲 newuser 的新用戶,可以使用以下的命令:

# useradd newuser

useradd 命令還有很多可選參數,用來設置新建用戶的一些屬性,詳細的參數使用方法,請參考

其 man page。

2、 爲用戶設置口令:

通過 passwd 命令可以完成爲新建用戶設立口令。例如,超級用戶要設置或改變用戶 newuser 的

口令時,可使用命令:

# passwd newuser

系統會提示輸入新的口令,新口令需要輸入兩次。出於安全的原因,鍵入口令時不會在屏幕上回

顯出來。當用戶使用不帶參數的 passwd 命令時,可以修改自己的口令。

useradd 命令的常用參數和選項如下表:

選項和參數 描述

-c comment /etc/passwd 文件中用戶全名或註釋域的內容。

-d home-dir 指定用於取代默認的 /home/username 的用戶主目錄。

-e date 禁用賬號的日期,格式爲:YYYY-MM-DD

-f days 口令過期後,賬號禁用前的天數。

-g group-name 用戶所屬主組羣的組羣名或組羣ID(該組羣在指定前必須存在)。

-G group-list 用戶是其中成員的其他組羣名或組羣號碼(默認以外的)列表,用逗號分隔(組羣在指定前必須存在)。 -m 若主目錄不存在則創建它。

-M 不要創建用戶主目錄。

-n 不要爲用戶創建用戶私人組羣。

-r 創建一個 UID 小於500的不帶主目錄的系統賬號。

-p password 使用 crypt 加密的口令。

-s 指定用戶登錄 shell,默認爲 /bin/bash。

-u uid 指定用戶的 UID,它必須是唯一的,且大於499。

2.3.1.2 臨時禁止一個用戶

有時,需要臨時禁止一個用戶帳號的使用而不是刪除它。可以採用以下兩種方法:

1、 把用戶的記錄從 /etc/passwd 文件中去掉,保留其主目錄和其它文件不變;

2、 在 /etc/passwd 文件(或 /etc/shadow)中關於該用戶的 passwd 域的第一個字符前面加上一個“*”號。

刪除用戶

完全刪除一個用戶包括:

1、 刪除 /etc/passwd 文件中此用戶的記錄;

2、 刪除 /etc/group 文件中該用戶的信息;

3、 刪除用戶的主目錄;

4、 刪除用戶所創建的或屬於此用戶的文件。

userdel 命令可以用來刪除用戶及其主目錄。命令的格式爲:

# userdel [-r]

使用 –r 選項,表示用戶主目錄及其內部的文件將被刪除。

用戶組管理

以下是用戶組管理的幾個常用命令。

建立組

groupadd 命令用於將新組加入系統,命令的格式爲:

# groupadd newgroup

新建的組默認使用大於500並大於每個其他組的 ID 的最小數值。如果要指定組的ID,可以在命令中加入 –g 參數,如下面的命令將在 /etc/passwd 文件中產生 GID 爲503的項目:

# groupadd –g 503 newgroup

groupadd 命令的常用參數和選項如下表:

選項和參數 描述

-g gid 指定用戶組的 GID,它必須是唯一的,且大於499。

-r 創建小於500的系統用戶組。

-f 若用戶組已存在,退出並顯示錯誤(組不會被改變)。如果指定了 -g 和 -f 選項,且用戶組已存在,-g 選項就會被忽略。

在組中加入用戶

在組中加入用戶的方法是直接編輯 /etc/group 文件。前面講過,這個文件的每一行表示一個組的

信息,其中第四個域代表組內用戶的列表。例如:user1、user2、user3 都屬於組group1,其組的 ID 爲509,則組的項目就是:

group1::509:user1,user2,user3

要將新用戶加入組中,只需用在文件編輯器中編輯 /etc/group 文件,並將用戶名加入用戶列表中,用逗號分隔開即可。

刪除組

使用 groupdel 命令來刪除組。命令的格式如下:

# groupdel

有幾點需要注意:

1、 組中的文件不能自行刪除,也不能自行改變所屬的組;

2、 如果組是用戶的基本組(即 /etc/passwd 文件中顯示爲該用戶的組),則這個組無法刪除。 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章