在Unix系統上的賬戶有三種型別:
Root 賬號: 這也被稱為超級使用者,並有完整的和不受約束的控制系統。一個超級使用者可以執行任何命令,沒有任何限制。該使用者應承擔作為一個系統管理員。
System 賬號: 系統帳戶是那些需要特定系統元件,例如電子郵件帳戶和sshd的賬戶的操作。這些賬戶通常需要在您的系統上的一些特定功能,任何修改系統可能會受到不好的影響。
User 賬號: 使用者帳戶提供互動式存取系統的使用者和使用者組。一般使用者通常分配給這些帳戶,通常有有限的存取關鍵系統檔案和目錄。
UNIX支援組帳戶的概念邏輯分組多個賬戶。每個帳戶將任何組帳戶的一部分。 Unix群組中起著重要的作用,在處理檔案的許可權和流程管理。
有三個主要的使用者管理檔案:
/etc/passwd: 保持使用者帳戶和密碼資訊。這個檔案包含了大多數的Unix系統上的賬戶資訊。
/etc/shadow: 相應的帳戶儲存加密口令。並非所有的系統支援此檔案。
/etc/group: 此檔案包含每個帳戶的組資訊。
/etc/gshadow: 此檔案包含安全組的帳戶資訊。
檢查上述所有檔案使用cat命令。
以下是大多數Unix系統上可用來建立和管理帳戶和組的命令:
命令 | 描述 |
---|---|
useradd | Adds accounts to the system. |
usermod | Modifies account attributes. |
userdel | Deletes accounts from the system. |
groupadd | Adds groups to the system. |
groupmod | Modifies group attributes. |
groupdel | Removes groups from the system. |
您可以使用聯機幫助幫助這裡提到的每個命令的語法檢查完成。
您需要建立組,然後才能再建立任何帳戶,系統中必須使用現有組。你將不得不在 /etc/groups檔案中列出的所有組。
所有預設組將系統帳戶的特定群體,它是不推薦使用普通帳戶。所以語法來建立一個新的帳戶:
groupadd [-g gid [-o]] [-r] [-f] groupname
下面是詳細的引數:
選項 | 描述 |
---|---|
-g GID | The numerical value of the group's ID. |
-o | This option permits to add group with non-unique GID |
-r | This flag instructs groupadd to add a system account |
-f | This option causes to just exit with success status if the specified group already exists. With -g, if specified GID already exists, other (unique) GID is chosen |
groupname | Actaul group name to be created. |
如果你不指定任何引數,那麼系統將使用預設值。
以下範例將建立開發組的預設值,這是非常可以接受的大多數管理員。
$ groupadd developers
要修改組,使用groupmod語法:
$ groupmod -n new_modified_group_name old_group_name
要改變developers_2 組的名稱到開發組,輸入:
$ groupmod -n developer developer_2
這裡顯示如何改變GID為545:
$ groupmod -g 545 developer
要刪除現有的組,所有你需要的是一個命令groupdel命令和組名。要刪除的 financial 組,該命令是:
$ groupdel developer
這將刪除組,沒有任何與該組相關的檔案。這些檔案是由他們的所有者仍然可以存取。
讓我們來看看如何在你的Unix系統上建立一個新的帳戶。以下是語法來建立使用者帳戶:
useradd -d homedir -g groupname -m -s shell -u userid accountname
下面是詳細的引數:
Option | 描述 |
---|---|
-d homedir | Specifies home directory for the account. |
-g groupname | Specifies a group account for this account. |
-m | Creates the home directory if it doesn't exist. |
-s shell | Specifies the default shell for this account. |
-u userid | You can specify a user id for this account. |
accountname | Actual account name to be created |
如果你不指定任何引數,那麼系統將使用預設值。useradd命令修改了 /etc/passwd, /etc/shadow, 和 /etc/group檔案,並建立一個主目錄。
下面的例子將建立一個帳戶 mcmohd 其主目錄設定到 /home/mcmohd 和開發組。該使用者將有Korn Shell的分配給它。
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
發出上述命令前,請確保你已經有開發組使用groupadd的命令建立。
一旦建立一個帳戶,你可以設定其密碼,使用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選項。您可以刪除的主目錄,在以後的時間。