要在系統上添加用戶:
使用 useradd 命令來創建一個鎖定的用戶賬號:
useradd <username> |
使用 passwd 命令,通過指派口令和口令老化規則來給某賬號開鎖:
passwd <username> |
useradd 的命令行選項在表 25-1中被列出。
-c comment | 用戶的注釋。 |
-d home-dir | 用來取代默認的 /home/ username 主目錄。 |
-e date | 禁用賬號的日期,格式為:YYYY-MM-DD |
-f days | 口令過期后,賬號禁用前的天數(若指定了 0 ,賬號在口令過期后會被立刻禁用。若指定了 -1 ,口令過期后,賬號將不會被禁用)。 |
-g group-name | 用戶默認組群的組群名或組群號碼(該組群在指定前必須存在)。 |
-G group-list | 用戶是其中成員的額外組群名或組群號碼(默認以外的)列表,用逗號分隔(組群在指定前必須存在)。 |
-m | 若主目錄不存在則創建它。 |
-M | 不要創建主目錄。 |
-n | 不要為用戶創建用戶私人組群。 |
-r | 創建一個 UID 小于 500 的不帶主目錄的系統賬號。 |
-p password | 使用 crypt 加密的口令。 |
-s | 用戶的登錄 shell,默認為 /bin/bash 。 |
-u uid | 用戶的 UID,它必須是獨特的,且大于 499。 |
表 25-1. useradd 命令行選項
要給系統添加組群,使用 groupadd 命令:
groupadd <group-name> |
groupadd 的命令行選擇在表 25-2中被列出。
-g gid | 組群的 GID,它必須是獨特的,且大于 499。 |
-r | 創建小于 500 的系統組群。 |
-f | 若組群已存在,退出并顯示錯誤(組群不會被改變)。如果指定了 -g 和 -f 選項,而組群已存在, -g 選項就會被忽略。 |
表 25-2. groupadd 命令行選項
為安全起見,要求用戶定期改變他們的口令是明智之舉。這可以在 用戶管理器 的 「口令信息」 標簽上添加或編輯用戶時做到。
要從 shell 提示下為用戶配置口令過期,使用 chage 命令,隨后使用表 25-3中的選項,以及用戶的用戶名。
重要:要使用 chage 命令,屏蔽口令一定要被啟用。 |
-m days | 指定用戶必須改變口令所間隔的最少天數。如果值為 0,,口令就不會過期。 |
-M days | 指定口令有效的最多天數。當該選項指定的天數加上 -d 選項指定的天數小于當前的日期,用戶在使用該賬號前就必須改變口令。 |
-d days | 指定自從 1970 年 1 月 1 日起,口令被改變的天數。 |
-I days | 指定口令過期后,賬號被鎖前不活躍的天數。如果值為 0,賬號在口令過期后就不會被鎖。 |
-E date | 指定賬號被鎖的日期,日期格式為 YYYY-MM-DD。若不用日期,也可以使用自 1970 年1月1日后經過的天數。 |
-W days | 指定口令過期前要警告用戶的天數。 |
表 25-3. change 命令行選項
竅門:如果 chage 命令后緊跟著用戶名(無其它選項),它會顯示當前口令的老化數值并運行這些數值被改變。 |
如果系統管理員想讓用戶在首次登錄時設置口令,用戶的口令可以被設置為立即過期,從而強制用戶在首次登錄后立即改變它。
要強制用戶在首次登錄到控制臺時配置口令,請遵循以下步驟。注意,若用戶使用 SSH 協議來登錄,這個過程就行不通。
鎖住用戶的口令 — 如果用戶不存在,使用 useradd 命令來創建這個用戶賬號,但是不要給它任何口令,所以它仍舊被鎖。
如果口令已經被啟用,使用下面的命令來鎖住它:
usermod -L username |
強制即刻口令過期 — 鍵入下面的命令:
chage -d 0 username |
該命令把口令最后一次改變的日期設置為 epoch(1970年1月1)。不管口令過期策略是否存在,這個值會強制口令立即過期
給賬號開鎖 — 達到這一目的有兩種常用方法。管理員可以指派一個初始口令或空口令。
警告:不要使用 passwd 來設置口令,因為它會禁用剛剛配置的口令即刻過期。 |
要指派初始口令,遵循以下步驟:
使用 python 命令來啟動命令行 python 解釋器。它的顯示如下:
Python 2.2.2 (#1, Dec 10 2002, 09:57:09) [GCC 3.2.1 20021207 (Red Hat Linux 8.0 3.2.1-2)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> |
在提示下,鍵入以下命令(把 password 替換成要加密的口令,把 salt 替換成恰巧兩個大寫或小寫字母、數字、點字符或斜線字符,譬如 + ab 或 + 12 ):
import crypt; print crypt.crypt(" password "," salt ") |
其輸出的加密口令類似于 12CsGd8FRcMSM 。
鍵入 [Ctrl] - [D] 來退出 Python 解釋器。
把加密口令的輸出剪貼到以下命令中(不帶頭尾的空格):
usermod -p " encrypted-password " username |
與其指派初始口令,你還可以使用以下命令來指派空口令:
usermod-p"" username |
小心:使用空口令對用戶和管理員來說都很方便,但它卻帶有一個輕微的危險性——第三方可以會首先登錄并進入系統。要減小這種威脅,推薦管理員在給賬號開鎖的時候校驗用戶已經做好了登錄準備。 |
無論是哪一種情況,首次登錄后,用戶都會被提示輸入新口令。
下列步驟演示了在啟用屏蔽口令的系統上使用 useradd juan 命令后的情形:
在 /etc/passwd 文件中新添了有關 juan 的一行。這一行的特點如下:
它以用戶名 juan 開頭。
口令字段有一個“ x ”,表示系統使用屏蔽口令。
500 或 500 以上的 UID 被創建。(在 Red Hat Linux 中,500 以下的 UID 和 GID 被保留為系統使用。)
500 或 500 以上的 GID 被創建。
可選的 GECOS 信息被留為空白。
juan 的主目錄被設為 /home/juan/ 。
默認的 shell 被設為 /bin/bash 。
在 /etc/shadow 文件中新添了有關 juan 的一行。這一行的特點如下:
它以用戶名 juan 開頭。
出現在 /etc/shadow 文件中口令字段內的兩個嘆號( !! )會鎖住賬號。
注記:如果某個加密的口令使用了 -p 標志被傳遞,這個口令會被放置在 /etc/shadow 文件中用于該用戶的那一行中。 |
口令被設置為永不過期。
在 /etc/group 文件中新添了一行有關 juan 組群的信息。和用戶名相同的組群叫做 用戶私人組群(user private group) 。關于用戶私人組群的詳情,請參閱第 25.1 節。
在 /etc/group 文件中新添的這一行具有如下特點:
它以組群名 juan 開頭。
口令字段有一個“ x ”,表示系統使用屏蔽口令。
GID 與列舉 /etc/passwd 文件中用戶 juan 行中的相同。
在 /etc/gshadow 文件中新添了有關 juan 組群的一行。這一行的特點如下:
它以組群名 juan 開頭。
出現在 /etc/gshadow 文件中口令字段內的一個嘆號( ! )會鎖住該組群。
所有其它字段都為空白。
用于用戶 juan 的目錄被創建在 /home/ 目錄之下。該目錄為用戶 juan 和組群 juan 所有。它的讀寫和執行權限僅 為用戶 juan 所有。所有其它權限都被拒絕。
/etc/skel/ 目錄(包含默認用戶設置)內的文件被復制到新建的 /home/juan/ 目錄中。
這時候,系統上就存在了一個叫做 juan 的被鎖的賬號。要激活它,管理員必須使用 passwd 命令該賬號指派一個口令,或者還可以設置口令老化規則。
原文轉自:http://www.anti-gravitydesign.com