建立帳號可用 SAM、SMH 或指令,這裡介紹使用 useradd 指令建立帳號。
# useradd -o \ # 允許使用相同的 UID
-u 101 \ # 自訂 UID
-g users \ # 定義主要群組
-G mis,sales \ # 定義次要群組
-c "Manager" \ # 自訂註解
-m -d /home/user1 \ # 建立家目錄
-s /usr/bin/sh \ # 定義預設 shell
-e 1/1/2010 \ # 定義帳號過期日
-p Ukkfue.28FYie \ # 設定密碼,必須已加密
-t /etc/default/useradd \ # 上列未設定的參數,則參考範本檔
username
註: " \ " 為跳脫字元,指與下一行為同一行指令
-o -u uid
========
• 建立使用者,預設會從 UID 100 開始自動配發唯一的 UID。
• -u 參數可自訂 UID 號碼。
• -o 參數允許使用與其他使用者帳號相同的 UID,一般與 -u 一起使用。
-g group
========
• 定義主要群組,必須已存在 /etc/group 中。
- G group
=========
• 定義次要群組,必須已存在 /etc/group 中。
• 若要定義多個次要群組以 " , " 分隔。
• 最多只能有 20 個次要群組。
-c comment
===========
• 註解,自訂 /etc/passwd 註解欄位的說明。
-k skeldir
=========
• 可指定建立帳號時,要複製誰的家目錄。
• 預設是 /etc/skel 範本目錄。
-m -d dir
========
• -d 參數可定義使用者家目錄。
• 家目錄預設為 /home/username。
• -m (make) 參數自動建立使用者家目錄。
-s shell
=======
• 定義使用者登入後所使用的 shell。
• 預設使用 /sbin/sh。
• /sbin/sh 是 POSIX shell,它是一個 statically linked ,比 /usr/bin/sh shell 的 dynamically linked 需要更多系統資源。
• 所以 /sbin/sh 是給 root 帳號使用,其他一般使用者應該使用 /usr/bin/sh。
-e expire
=========
• 定義帳號過期日期。
• 超過期限,將無法使用互動模式登入系統。
• 格式為 /mm/dd/yyyy。
• 系統有使用 /etc/shadow,此參數才會生效。
-f inactive
==========
• 定義密碼過期後,還有多少天數可以使用。
• 在 HP-UX 系統,僅適用 Trusted System 中。
-p password
============
• 自訂帳號密碼,此參數必須使用已加密過的密碼。
• 可搭配 perl 的 crypt 參數來建立,範本建立user1 的密碼為 " user ":
# useradd -p $(perl -e "print crypt('user','xx')") user1
• 上述方法雖可一次設定使用者密碼,但要注意,操作過的指令會以明碼記錄在 ~/.sh_history ( 11i v2 之前為 ~/.bash_history ) 中。
• 假如 -p 不定義,預設帳號是停用的,必須使用 passwd username 設定新密碼。
• 此參數僅適用 11i v3 以後的版本。
-t template
===========
• 指定範本檔。
• 當使用 useradd 未使用其他參數時,則參考範本檔的參數。
• 未輸入任何參數,預設範本檔為 /etc/default/useradd。
Username
==========
• 新使用者的帳號名稱。
• 長度為 1 ~ 8 個字元。
• 第一個字元必須為英文。
• 如果定義的帳號名稱超過 8 個字元,只有前 8 個字元有效。
--------------------------------------------------------------------
設定使用者密碼
============
使用 useradd 指令建立使用者帳號後,除非有使用 -p 參數指定密碼,否則必須使用 passwd 指令設定密碼後才能使用新帳號登入系統。
使用互動模式設定帳號密碼。
# passwd user1
設定密碼為空值,無須密碼即可登入系統。
# passwd -d user1
設定下次登入必須變更密碼。
# passwd -f user1
建立 /etc/default/ 中 useradd 的範本檔
====================================
• /etc/default/ 可自訂多種範本檔,以便建立多種不同用途的使用者帳號。
• useradd 預設使用 /etc/default/useradd 為範本檔。
自訂範本檔。
# useradd -D \ # 更新預設範本檔
-t /etc/default/useradd.sales \ # 範本檔路徑(11i v3 才有此參數)
-b /home \ # 預設家目錄路徑
-c "Sales Div." \ # 註解
-g salses \ # 主要群組
-s /usr/bin/sh # 預設的 shell
檢查範本內容,使用 useradd 檢查必須加上 -D 及 -t 參數,或使用 cat 指令查看範本內容。
# useradd -D -t /etc/default/useradd.sales
GROUPID 101
BASEDIR /home
SKEL /etc/skel
SHELL /usr/bin/sh
INACTIVE -1
EXPIRE
COMMENT Sales Div
CHOWN_HOMEDIR no
CREAT_HOMEDIR no
ALLOW_DUP_UIDS no
使用新範本建立使用者,記得加上 -m 參數建立家目錄。
# useradd -m -t /etc/default/useradd.sales sales01
使用預設範本建立使用者,記得加上 -m 參數建立家目錄,否則只會建立帳號,不會連同家目錄一起建立。
# useradd -m sales01
若未加 -m 參數,則要自行建立家目錄。
# mkdir /home/sales01 # 建立家目錄
# cp /etc/skel/.* /home/sales01 # 複製預設檔案
# chown -R sales01:users /home/sales01 # 變更家目錄及檔案的擁有者及群組
沒有留言:
張貼留言