2012年1月17日 星期二

建立使用者帳號(適用 HP-UX)


 建立帳號可用 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  # 變更家目錄及檔案的擁有者及群組

沒有留言: