2009年8月7日 星期五

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

沒有留言:

張貼留言