在 Linux 系統中,與使用者管理有關的檔案主要有如下幾個:分別是/etc/passwd,/etc/shadow,/etc/gfoup,/etc/gshadow 。它們分別與使用者的帳號,密碼,使用者組及使用者組密碼有關。
所以建立新帳號的過程也就是和這幾個檔案在打交道,不過不要害怕,通過 useradd 命令來建立新帳號,系統會自動與這些檔案進行操作不用咱手動一個一個的來更改,這樣也不用擔心出錯的問題。呵呵。
(1)最簡單的方法:
useradd -m username
再在/home 目錄下建立一個使用者username;
(2)useradd -d 是在指定的目錄下進行建立如:
useradd -d /home/user -s /bin/sh username
,然後用語句:
passwd username
就可以為建立的使用者佈建密碼 兩種方法都可以新增使用者username。
linux 中使用 useradd 去新增使用者時,一些在 /etc/passwd 中的值是會去參考 /etc/default/useradd 這個檔案的。其檔案內容基本如下:
[cc lang='bash']
# useradd defaults file
# 預設的使用者組
GROUP=100
# 家目錄的地址
HOME=/home
# 密碼到期的寬限時間,對應 /etc/shadow 的第七欄
INACTIVE=-1
# 帳號失效日期,對應 /etc/shadow 的第八欄
EXPIRE=
# 預設使用的shell
SHELL=/bin/bash
# 使用者家目錄裡面的內容參照檔案(裡面基本上全為隱藏檔案——>以“.”開頭的檔案)
SKEL=/etc/skel
# 建立使用者的mailbox
CREATE_MAIL_SPOOL=yes
命令用法
引用
useradd - 帳 號 建 立 或 更 新 新 使 用 者 的 資 訊
語 法
useradd [-c comment] [-d home_dir]
[-e expire_date] [-f inactive_time]
[-g initial_group] [-G group[,...]]
[-m [-k skeleton_dir] | -M] [-s shell]
[-u uid [ -o]] [-n] [-r] login
useradd -D [-g default_group] [-b default_home]
[-f default_inactive] [-e default_expire_date]
[-s default_shell]
用法解析
-e expire_date 帳號終止日期。日期的指定格式為MM/DD/YY。
-f inactive_days 帳號到期幾日後永久停權。當值為0時帳號則立刻被停權。而當值為-1時則關閉此功能,預設值為-1
-g initial_group group名稱或以數字來做為使用者登入起始群組(group)。群組名須為現有存在的名稱。群組數字也須為現有存在的群組。預設的群組數字為1。
-G group,[...] 定義此使用者為此一堆groups的成員。每個群組使用","區格開來,不可以夾雜空白字元。群組名同-g選項的限制。定義值為使用者的起始群組。
-m 使用者目錄如不存在則自動建立。如使用-k選項skeleton_dir內的檔案將複製至使用者目錄下。然而在/etc/skel目錄下的檔案也會複製過去取代。任何在skeleton_diror/etc/skel的目錄也相同會在使用者目錄下一一建立。The-k同-m不建立目錄以及不複製任何檔案為預設值。
-M 不建立使用者目錄,即使/etc/login.defs系統檔設定要建立使用者目錄。
-n 預設值使用者群組與使用者名稱會相同。此選項將取消此預設值。
-r 此參數是用來建立系統帳號。系統帳號的UID會比定義在系統檔上/etc/login.defs.的UID_MIN來的小。注意useradd此用法所建立的帳號不會建立使用者目錄,也不會在乎紀錄在/etc/login.defs.的定義值。如果你想要有使用者目錄須額外指定-m參數來建立系統帳號。這是REDHAT額外增設的選項。
-u uid 使用者的ID值。必須為唯一的ID值,除非用-o選項。數字不可為負值。預設為最小不得小於999而逐次增加。0~999傳統上是保留給系統帳號使用。改變預設值當-D選項出現時,useradd秀出現在的預設值,或是藉由命令列的方式更新預設值。可用選項為∶
-b default_home 定義使用者所屬目錄的前一個目錄。使用者名稱會附加在default_home後面用來建立新使用者的目錄。當然使用-d後則此選項無效。
-e default_expire_date 使用者帳號停止日期。
-f default_inactive 帳號到期幾日後停權。
-g default_group 新帳號起始群組名或ID。群組名須為現有存在的名稱。群組ID也須為現有存在的群組。
-s default_shell 使用者登入後使用的shell名稱。往後新加入的帳號都將使用此shell.如不指定任何參數,useradd顯示目前預設的值。註記系統管理者有義務在/etc/skel目錄下放置使用者定義檔。