在 UNIX 系統(tǒng)中,有三種類型的賬戶:
UNIX 支持組帳號(hào)(Group Account)的概念,在邏輯上是許多賬戶的群組。每個(gè)帳戶都可能是任何組賬號(hào)的一部分。UNIX 組在處理文件權(quán)限和流程管理中發(fā)揮了重要的作用。
下面列出三個(gè)主要的用戶管理文件:
使用 cat 命令檢查上述所有文件。
大多數(shù) UNIX 系統(tǒng)可用以下命令來創(chuàng)建和管理帳戶和組:
命令 | 描述 |
---|---|
useradd | 將賬戶添加到系統(tǒng)。 |
usermod | 修改賬戶屬性。 |
userdel | 從系統(tǒng)刪除賬戶。 |
groupadd | 將組添加到系統(tǒng)。 |
groupmod | 修改組屬性。 |
groupdel | 從系統(tǒng)中刪除組。 |
可以使用 Manpage 幫助 查看這里提到每個(gè)命令的完整語法。
在創(chuàng)建任何賬戶之前需要先創(chuàng)建組,否則將不得不使用系統(tǒng)中現(xiàn)有的組。你會(huì)在 /etc/groups
文件中找到所有組的列表。
所有默認(rèn)組都是系統(tǒng)帳戶組成的特定組,不推薦普通賬戶使用。所以下面給出用來創(chuàng)建一個(gè)新組帳戶的語法:
groupadd [-g gid [-o]] [-r] [-f] groupname
下面列出詳細(xì)的參數(shù):
選項(xiàng) | 描述 |
---|---|
-g GID | 組 ID 的數(shù)值。 |
-o | 這個(gè)選項(xiàng)允許給組添加一個(gè)非唯一的 GID。 |
-r | 這個(gè)標(biāo)志表示給組添加一個(gè)系統(tǒng)賬戶。 |
-f | 如果指定的組已經(jīng)存在,這個(gè)選項(xiàng)會(huì)導(dǎo)致成功退出。附帶 -g 時(shí),如果指定 GID 已經(jīng)存在,就選擇其他(獨(dú)特的) GID。 |
groupname | 創(chuàng)建一個(gè)真實(shí)的組名稱。 |
如果你沒有指定任何參數(shù),那么系統(tǒng)將使用默認(rèn)值。
以下示例將使用默認(rèn)值創(chuàng)建開發(fā)人員組,這為大部分的管理員接受。
$ groupadd developers
修改一個(gè)組,使用 groupmod 語法:
$ groupmod -n new_modified_group_name old_group_name
將 developers_2 組的名稱改為 developer,例如:
$ groupmod -n developer developer_2
下邊描述如何將 developer 的 GID 更改為 545:
$ groupmod -g 545 developer
刪除現(xiàn)有的組,需要的所有東西就是 groupdel 命令和組名。例如刪除 developer 組,命令是:
$ groupdel developer
這個(gè)操作只是刪除了組,而不涉及任何跟組相關(guān)的文件。這些文件仍然可以被它們的主人訪問。
讓我們看看如何在 UNIX 系統(tǒng)上創(chuàng)建一個(gè)新的帳戶。下面是用來創(chuàng)建一個(gè)用戶帳戶的語法:
useradd -d homedir -g groupname -m -s shell -u userid accountname
下面列出詳細(xì)的參數(shù):
選項(xiàng) | 描述 |
---|---|
-d homedir | 指定賬戶的主目錄。 |
-g groupname | 指定該賬戶所屬的組賬戶。 |
-m | 如果它不存在,則創(chuàng)建主目錄。 |
-s shell | 指定該帳戶的默認(rèn) shell。 |
-u userid | 您可以為賬戶指定一個(gè)用戶id。 |
accountname | 創(chuàng)建一個(gè)真實(shí)的帳戶名稱 |
如果你沒有指定任何參數(shù),那么系統(tǒng)將使用默認(rèn)值。useradd 命令將修改 /etc/passwd
文件、/etc/shadow
文件、/etc/group
文件并創(chuàng)建一個(gè)主目錄。
下面的示例將創(chuàng)建一個(gè)帳戶:mcmohd,主目錄設(shè)置為 /home/mcmohd
,組為 developers。將 Korn Shell 分配給這個(gè)用戶。
$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd
上面的命令執(zhí)行之前,必須確保你已經(jīng)使用 groupadd 命令創(chuàng)建了 developers 組。
創(chuàng)建一個(gè)帳戶之后,你可以使用 passwd 命令設(shè)置它的密碼,如下所示:
$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.
當(dāng)您輸入 passwd 賬戶名,它會(huì)假定你是超級(jí)用戶,從而更改密碼。否則你只能使用這樣的命令改變你的密碼,而不能更改指定帳戶的密碼。
usermod 命令允許從命令行更改現(xiàn)有的賬戶。它使用和 useradd 命令相同的參數(shù),加上 -l
參數(shù),允許更改帳戶名稱。
例如,將賬戶名稱 mcmohd 更改為 mcmohd20 并相應(yīng)地改變主目錄,需要執(zhí)行以下命令:
$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20
userdel 命令可以用來刪除現(xiàn)有的用戶。這是一個(gè)非常危險(xiǎn)的命令,必須小心使用。
這個(gè)命令只有一個(gè)參數(shù)或可用的選項(xiàng):.r
,用來刪除帳戶的主目錄和郵件文件。
例如,刪除帳戶 mcmohd20,需要發(fā)出以下命令:
$ userdel -r mcmohd20
如果為了備份的目的,想保留它的主目錄,省略 -r
選項(xiàng)??梢愿鶕?jù)需要在稍后的時(shí)間刪除主目錄。
更多建議: