鍍金池/ 教程/ Linux/ UNIX 用戶管理
UNIX 文件權(quán)限/訪問模式
UNIX 系統(tǒng)性能
UNIX 管道和過濾器
UNIX 進(jìn)程管理
Shell 內(nèi)置數(shù)學(xué)函數(shù)
UNIX 環(huán)境
UNIX 文件管理
Unix
UNIX 網(wǎng)絡(luò)實(shí)用工具
UNIX 系統(tǒng)日志
UNIX 目錄管理
vi編輯器教程
Unix 基本工具(打印,電子郵件)
UNIX 用戶管理
UNIX 信號(hào)和陷阱
Unix 正則表達(dá)式SED
Unix 文件系統(tǒng)基礎(chǔ)
Unix是什么?
Unix 有用命令

UNIX 用戶管理

在Unix系統(tǒng)上的賬戶有三種類型:

  1. Root 賬號(hào): 這也被稱為超級(jí)用戶,并有完整的和不受約束的控制系統(tǒng)。一個(gè)超級(jí)用戶可以運(yùn)行任何命令,沒有任何限制。該用戶應(yīng)承擔(dān)作為一個(gè)系統(tǒng)管理員。

  2. System 賬號(hào): 系統(tǒng)帳戶是那些需要特定系統(tǒng)組件,例如電子郵件帳戶和sshd的賬戶的操作。這些賬戶通常需要在您的系統(tǒng)上的一些特定功能,任何修改系統(tǒng)可能會(huì)受到不好的影響。

  3. User 賬號(hào): 用戶帳戶提供交互式訪問系統(tǒng)的用戶和用戶組。一般使用者通常分配給這些帳戶,通常有有限的訪問關(guān)鍵系統(tǒng)文件和目錄。

UNIX支持組帳戶的概念邏輯分組多個(gè)賬戶。每個(gè)帳戶將任何組帳戶的一部分。 Unix群組中起著重要的作用,在處理文件的權(quán)限和流程管理。

管理用戶和組:

有三個(gè)主要的用戶管理文件:

  1. /etc/passwd: 保持用戶帳戶和密碼信息。這個(gè)文件包含了大多數(shù)的Unix系統(tǒng)上的賬戶信息。

  2. /etc/shadow: 相應(yīng)的帳戶保存加密口令。并非所有的系統(tǒng)支持此文件。

  3. /etc/group: 此文件包含每個(gè)帳戶的組信息。

  4. /etc/gshadow: 此文件包含安全組的帳戶信息。

檢查上述所有文件使用cat命令。

以下是大多數(shù)Unix系統(tǒng)上可用來創(chuàng)建和管理帳戶和組的命令:

命令 描述
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.

您可以使用聯(lián)機(jī)幫助幫助這里提到的每個(gè)命令的語(yǔ)法檢查完成。

創(chuàng)建一個(gè)組

您需要?jiǎng)?chuàng)建組,然后才能再創(chuàng)建任何帳戶,系統(tǒng)中必須使用現(xiàn)有組。你將不得不在 /etc/groups文件中列出的所有組。

所有默認(rèn)組將系統(tǒng)帳戶的特定群體,它是不推薦使用普通帳戶。所以語(yǔ)法來創(chuàng)建一個(gè)新的帳戶:

 groupadd [-g gid [-o]] [-r] [-f] groupname

下面是詳細(xì)的參數(shù):

選項(xiàng) 描述
-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.

如果你不指定任何參數(shù),那么系統(tǒng)將使用默認(rèn)值。

以下示例將創(chuàng)建開發(fā)組的默認(rèn)值,這是非??梢越邮艿拇蠖鄶?shù)管理員。

$ groupadd developers

修改組:

要修改組,使用groupmod語(yǔ)法:

$ groupmod -n new_modified_group_name old_group_name

要改變developers_2 組的名稱到開發(fā)組,輸入:

$ groupmod -n developer developer_2

這里顯示如何改變GID為545:

$ groupmod -g 545 developer

刪除組:

要?jiǎng)h除現(xiàn)有的組,所有你需要的是一個(gè)命令groupdel命令和組名。要?jiǎng)h除的 financial  組,該命令是:

$ groupdel developer

這將刪除組,沒有任何與該組相關(guān)的文件。這些文件是由他們的所有者仍然可以訪問。

創(chuàng)建一個(gè)帳戶

讓我們來看看如何在你的Unix系統(tǒng)上創(chuàng)建一個(gè)新的帳戶。以下是語(yǔ)法來創(chuàng)建用戶帳戶:

useradd -d homedir -g groupname -m -s shell -u userid accountname

下面是詳細(xì)的參數(shù):

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

如果你不指定任何參數(shù),那么系統(tǒng)將使用默認(rèn)值。useradd命令修改了 /etc/passwd, /etc/shadow, 和 /etc/group文件,并創(chuàng)建一個(gè)主目錄。

下面的例子將創(chuàng)建一個(gè)帳戶 mcmohd 其主目錄設(shè)置到 /home/mcmohd 和開發(fā)組。該用戶將有Korn Shell的分配給它。 

$ useradd -d /home/mcmohd -g developers -s /bin/ksh mcmohd

發(fā)出上述命令前,請(qǐng)確保你已經(jīng)有開發(fā)組使用groupadd的命令創(chuàng)建。

一旦創(chuàng)建一個(gè)帳戶,你可以設(shè)置其密碼,使用passwd命令如下:

$ passwd mcmohd20
Changing password for user mcmohd20.
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully.

當(dāng)你輸入 passwd accountname,它給你提供的密碼你是超級(jí)用戶,否則,你就可以改變你的密碼使用相同的命令,但沒有指定帳戶名選項(xiàng)來改變。

修改帳戶:

通過usermod命令使您可以更改現(xiàn)有的帳戶,在命令行。它使用相同的參數(shù),useradd命令,加上-l參數(shù),它允許您更改帳戶名。

舉例來說,,更改帳戶名稱 mcmohd 到 mcmohd20,并相應(yīng)地改變主目錄,你會(huì)需要發(fā)出以下命令:

$ usermod -d /home/mcmohd20 -m -l mcmohd mcmohd20

刪除一個(gè)帳戶:

userdel命令可以用來刪除現(xiàn)有用戶。這是一個(gè)非常危險(xiǎn)的命令,如果不小心使用。

只有一個(gè)參數(shù)或選項(xiàng)可用于命令:.r,刪除帳戶的主目錄和郵件文件。

例如,刪除帳戶mcmohd20,您將需要發(fā)出以下命令:

$ userdel -r mcmohd20

如果你想保持她的主目錄備份的目的,省略-r選項(xiàng)。您可以刪除的主目錄,在以后的時(shí)間。