2009年9月2日 星期三

家目錄範本(適用HP-UX)

 在 /etc/skel 底下的所有檔案,都是在建立新帳號時一併產生家目錄所需的檔案範本。

 使用者登入 UNIX 系統時,會執行許多 Script,下列為登入系統的執行流程。


1. 當使用者輸入帳號 / 密碼登入後,/usr/bin/login 這支 Script 會檢查 /etc/passwd 這個檔案是否有相同的帳號,假如使用者的帳號 / 密碼輸入正確,將執行其他 Script。


2. 登入後所執行的 Script 叫 /etc/profile,/etc/profile 是一支 POSIX/Korn 的 Script,它用來設定預設的使用者環境變數,/etc/profile 會存取 /etc/PATH、/etc/MANPATH、/etc/TIMEZONE 檔案來初始化 PATH、MANPATH、TZ 這些變數。這個 Script 還會自動定義 TERM 這個變數。每次使用者登入都會執行 /etc/profile 這支 Script,所以管理者可以修改這個檔案來變更 Global 預設環境變數。


3. 接下來執行使用者個人的 ~/.profile Script,每個使用者的家目錄會有一個 .profile Script,當每次登入後執行 ~/.profile 會覆蓋 /etc/profile 所設定的環境變數,所以若要個人的環境變數與 Global 預設不同,可修改此檔案。


4. 最後執行一個類似 Windows 「啟動」的一支 Script,在POSIK Shell 環境中是執行 ~/.shrc 的啟動 Script,在 Korn Shell 環境中則是執行 ~./kshrc 的啟動 Script。這支 Script 與 ~/.profile 不同的是它只負責在使用者登入後執行或呼叫其他程式。


 一般使用者可以修改個人的 ~/.profile 及 ~/.shrc。管理者可以在 /etc/skel 預先定義這些檔案的內容,當使用 useradd 指令時,會自動將 /etc/skel 內的檔案複製一份到使用者的家目錄中。但修改 /etc/skel 對已經建立家目錄的使用者並不會有任何影響及改變。


 如果有其他的檔案希望在建立使用者帳號時,一併產生在使用者的家目錄中,則將檔案複製到 /etc/skel 即可。另外在 /etc/skel 中有一個 .exrc 的檔案是定義鍵盤快速鍵。


 管理者可以針對不同的使用者建立不同的家目錄範本,只需使用 useradd -k 家目錄範本路徑 即可。


-----------------------------------------------------------------------
備註:
 CDE 的 .dtprofile Script 不存在 /etc/skel,當使用者第一次登入 CDE 時,如果 /etc/dt/config/sys.dtprofile 檔案存在,就會複製一份到使用者的家目錄下 ~/.dtprofile,如果不存在,就從 /usr/dt/config/sys.dtprofile 檔案複製。
-----------------------------------------------------------------------


 .profile Script 所建立的使用者環境設定,有下列參數: 


TERM
=====
  • 定義使用者Terminal 類型。
  • 如果定義錯誤,應用程式可能無法正確回應 Terminal。
  • 所支援的 Terminal 類型清單在 /usr/lib/terminfo/*。
PS1
===
  • 定義 Shell 的提示符號。
    export PS1='$ '                                # 使用 "$" 提示符號
    export PS1='$PWD $'                        # 包含使用者密碼的提示符號export PS1='$PWD ($LOGNAME) $'        # 包含使用者名稱的提示符號
LPDEST
=======
  • 定義使用者的印表機。
    export LPDEST=laser            # 使用 "laser" 為預設印表機
    export LPDEST=printera        # 使用 "printera" 為預設印表機
PATH
=====
  • 當使用者執行指令時,系統會依據 PATH 提供的路徑去尋找該指令檔案。
  • 路徑與路徑之間用 ":" 分隔。
  • 若有需要加入新的路徑,建議以下列格式修改:
    PATH=$PATH:/usr/local/bin        # 加入 /usr/local/bin 到目前已存在的 PATH 中
  • 系統預設的 PATH 參數,存放在 /etc/PATH 中。
  • 在安裝部份應用程式會自動更新 /etc/PATH 內容的路徑。
  • 若是針對單一使用者,則在 ~/.profile 中修改。
EDITOR=======
  • 定義命令提示字元下的編輯模式。
  • 下列三行參數,一定要定義:
    export EDITOR=vi
    export HISTFILE=~/.sh_history         # 定義使用者輸入指令的歷史記錄存放位置
    export HISTSIZE=50                        # 定義歷史記錄的筆數
  • 此參數只允許 " vi " 及 " emacs "。
TZ==
  • 定義使用者的時區。
  • 部份會顯示 timestamps 的指令會與此參數有關,例 data、who、ll 等等。
  • 此參數定義在 /etc/TIMEZONE。
  • /usr/lib/tztab 檔案中為可識別的時區清單。
  • 下列參數定義為芝加哥時區。
    export TZ=CST6CDT
 若要檢示系統所有的環境變數,可使用 env 指令。
 # env

沒有留言:

張貼留言