
- Unix/Linux 初學者指南
- Unix/Linux - 首頁
- Unix/Linux - 什麼是Linux?
- Unix/Linux - 入門
- Unix/Linux - 檔案管理
- Unix/Linux - 目錄
- Unix/Linux - 檔案許可權
- Unix/Linux - 環境
- Unix/Linux - 基本實用程式
- Unix/Linux - 管道與過濾器
- Unix/Linux - 程序
- Unix/Linux - 通訊
- Unix/Linux - vi編輯器
- Unix/Linux Shell程式設計
- Unix/Linux - Shell指令碼
- Unix/Linux - 什麼是Shell?
- Unix/Linux - 使用變數
- Unix/Linux - 特殊變數
- Unix/Linux - 使用陣列
- Unix/Linux - 基本運算子
- Unix/Linux - 決策
- Unix/Linux - Shell迴圈
- Unix/Linux - 迴圈控制
- Unix/Linux - Shell替換
- Unix/Linux - 引號機制
- Unix/Linux - I/O重定向
- Unix/Linux - Shell函式
- Unix/Linux - 手冊頁幫助
- 高階Unix/Linux
- Unix/Linux - 標準I/O流
- Unix/Linux - 檔案連結
- Unix/Linux - 正則表示式
- Unix/Linux - 檔案系統基礎
- Unix/Linux - 使用者管理
- Unix/Linux - 系統性能
- Unix/Linux - 系統日誌
- Unix/Linux - 訊號和陷阱
Unix/Linux - 使用者管理
在本章中,我們將詳細討論Unix中的使用者管理。
Unix系統上有三種類型的賬戶:
根賬戶
這也被稱為超級使用者,並且對系統擁有完全且不受限制的控制權。超級使用者可以執行任何命令而沒有任何限制。此使用者應被視為系統管理員。
系統賬戶
系統賬戶是系統特定元件操作所需的賬戶,例如郵件賬戶和sshd賬戶。這些賬戶通常需要用於系統上的某些特定功能,並且對它們的任何修改都可能對系統產生不利影響。
使用者賬戶
使用者賬戶為使用者和使用者組提供對系統的互動式訪問。普通使用者通常被分配到這些賬戶,並且通常對關鍵系統檔案和目錄的訪問許可權有限。
Unix支援組賬戶的概念,該概念在邏輯上將多個賬戶分組。每個賬戶都將是另一個組賬戶的一部分。Unix組在處理檔案許可權和程序管理方面起著重要作用。
管理使用者和組
主要有四個使用者管理檔案:
/etc/passwd - 儲存使用者賬戶和密碼資訊。此檔案儲存了有關Unix系統上賬戶的大部分資訊。
/etc/shadow - 儲存相應賬戶的加密密碼。並非所有系統都支援此檔案。
/etc/group - 此檔案包含每個賬戶的組資訊。
/etc/gshadow - 此檔案包含安全的組賬戶資訊。
使用cat命令檢查所有上述檔案。
下表列出了大多數Unix系統上可用於建立和管理賬戶和組的命令:
序號 | 命令及描述 |
---|---|
1 |
useradd 向系統新增賬戶 |
2 |
usermod 修改賬戶屬性 |
3 |
userdel 從系統中刪除賬戶 |
4 |
groupadd 向系統新增組 |
5 |
groupmod 修改組屬性 |
6 |
groupdel 從系統中刪除組 |
您可以使用手冊頁幫助檢查此處提到的每個命令的完整語法。
建立組
我們現在將瞭解如何建立組。為此,我們需要在建立任何賬戶之前建立組,否則,我們可以使用系統中現有的組。我們在/etc/groups檔案中列出了所有組。
所有預設組都是特定於系統賬戶的組,不建議將它們用於普通賬戶。因此,以下是建立新組賬戶的語法:
groupadd [-g gid [-o]] [-r] [-f] groupname
下表列出了引數:
序號 | 選項及描述 |
---|---|
1 |
-g GID 組ID的數值 |
2 |
-o 此選項允許新增具有非唯一GID的組 |
3 |
-r 此標誌指示groupadd新增系統賬戶 |
4 |
-f 此選項導致僅在指定組已存在時以成功狀態退出。使用-g,如果指定的GID已存在,則選擇其他(唯一)GID |
5 |
groupname 要建立的實際組名 |
如果未指定任何引數,則系統使用預設值。
以下示例使用預設值建立了一個developers組,這對於大多數管理員來說都是可以接受的。
$ groupadd developers
修改組
要修改組,請使用groupmod語法:
$ groupmod -n new_modified_group_name old_group_name
要將developers_2組名更改為developer,請輸入:
$ groupmod -n developer developer_2
以下是如何將financial的GID更改為545:
$ groupmod -g 545 developer
刪除組
我們現在將瞭解如何刪除組。要刪除現有組,您只需要groupdel命令和組名即可。要刪除financial組,命令為:
$ groupdel developer
這僅刪除組,而不刪除與該組關聯的檔案。檔案仍然可以由其所有者訪問。
建立賬戶
讓我們看看如何在您的Unix系統上建立新賬戶。以下是建立使用者賬戶的語法:
useradd -d homedir -g groupname -m -s shell -u userid accountname
下表列出了引數:
序號 | 選項及描述 |
---|---|
1 |
-d homedir 指定賬戶的主目錄 |
2 |
-g groupname 為該賬戶指定一個組賬戶 |
3 |
-m 如果主目錄不存在,則建立它 |
4 |
-s shell 為該賬戶指定預設shell |
5 |
-u userid 您可以為該賬戶指定使用者ID |
6 |
accountname 要建立的實際賬戶名 |
如果未指定任何引數,則系統使用預設值。useradd命令修改/etc/passwd、/etc/shadow和/etc/group檔案並建立主目錄。
以下示例建立了一個mcmohd賬戶,將其主目錄設定為/home/mcmohd,並將組設定為developers。此使用者將分配Korn Shell。
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
在發出上述命令之前,請確保您已使用groupadd命令建立了developers組。
建立賬戶後,您可以使用passwd命令設定其密碼,如下所示:
$ passwd mcmohd20 Changing password for user mcmohd20. New UNIX password: Retype new UNIX password: passwd: all authentication tokens updated successfully.
當您鍵入passwd accountname時,它會為您提供更改密碼的選項,前提是您是超級使用者。否則,您可以使用相同的命令更改您的密碼,但無需指定您的賬戶名。
修改賬戶
usermod命令使您能夠從命令列對現有賬戶進行更改。它使用與useradd命令相同的引數,以及-l引數,該引數允許您更改賬戶名。
例如,要將賬戶名mcmohd更改為mcmohd20並相應地更改主目錄,您需要發出以下命令:
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
刪除賬戶
userdel命令可用於刪除現有使用者。如果使用不當,這是一個非常危險的命令。
該命令只有一個引數或選項.r,用於刪除賬戶的主目錄和郵件檔案。
例如,要刪除賬戶mcmohd20,請發出以下命令:
$ userdel -r mcmohd20
如果要出於備份目的保留主目錄,請省略-r選項。您可以根據需要在以後刪除主目錄。