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選項。您可以根據需要在以後刪除主目錄。

廣告