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