亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
定制用戶帳號
[打印本頁]
作者:
w1_xiao
時間:
2009-10-13 14:30
標(biāo)題:
定制用戶帳號
※如果用戶希望使用命令行編輯和命令歷史機制,需要特殊的配置。你可能希望為新用戶配置這些功能。
一些例子
export TERM='vt100'
export PS1='$PWD $'
export LPDEST='laser'
export PATH=$PATH:/usr/local/bin
export EDITOR=vi
export HISTSIZE=40
export HISTFILE=~/.sh_history
上例中提到的特性是在登錄的時候,通過“環(huán)境”變量來定義的。一些經(jīng)常修改的環(huán)境變量如下
TERM ??
TERM變量定義了用戶的終端類型。如果TERM變量設(shè)置不正確。應(yīng)用程序就可能不能正確地寫到用戶的終端。有效的終端類型全部在/usr/lib/terminfo/*目錄下列出。你可以使用如下類似的命令來準(zhǔn)確的設(shè)置一個TERM類型:
export TERM=vt100 ?? ??#對應(yīng)一個vt100類型的終端
export TERM=hp?????? #對應(yīng)一個HP ASCII終端
export TERM=dtterm???? #對應(yīng)一個dtterm終端模擬窗口
你也可以使用ttytype命令來設(shè)置你的終端變量。這個命令通常可以自動識別你的終端類型。以下的代碼可以加入到你的登錄時運行的腳本中,為你設(shè)置你的終端類型:
if [ "$TERM = "" -0 \
????"#TERM" = "unknown" -o \
????"#TERM" = "dialup" -o \
????"#TERM" = "network" ]
??then
??????eval 'ttytype -s -a '
??fi
??export TERM
PS1
PS1變量定義你的shell提示符。這個提示符也可以由用戶自己來修改。一些有用的PS1的值如下所示:
export PS1='S' ???????????#使用一個簡單的"$"提示符
export PS1='$PWD $'?????????#在提示符內(nèi)包括用戶的pwd
export PS1='$PWD ($LOGNAME) $'??? #同時包括用戶的用戶名
LPDEST
LPDEST定義了用戶默認(rèn)打印機。在LPDEST中設(shè)置的打印機會優(yōu)先于系統(tǒng)管理員設(shè)置的系統(tǒng)范圍內(nèi)的默認(rèn)打印機。例子 :
export LPDEST=laser
export LPDEST=printera
PATH
用戶每次輸入一個命令,shell就必須去查找這個命令的可執(zhí)行文件的位置。PATH變量中包含有一個以“:”分割的路徑的列表,shell在這些列表中查找可執(zhí)行文件。如果用戶需要使用一個新的應(yīng)用和工具,你也許會需要修改你的PATH變量。你可以使用以下類似的語法來在用戶的PATH中增加新的目錄:
PATH=$PATH:/usr/local/bin ????# 在已存在的PATH中增加/usr/local/bin這一個路徑
初始化的PATH變量通常取自/etc/PATH文件。通常安裝一個應(yīng)用會自動更新/etc/PATH文件,所以不用單獨地一個用戶的PATHS。
EDITOR
如果你的用戶想要使用命令行編輯,需要定義三個變量:
export EDITOR=vi
export HISTFILE=~/.sh_history
export HISTSIZE=50
EDITOR定義用戶選擇的命令行編輯器。emacs和vi是唯一允許的兩個值。HISTFILE代表記錄用戶輸入的命令的文件名。HISTSIZE決定保存在shell的命令緩沖區(qū)內(nèi)的命令的數(shù)量。
這些僅僅是你能為你的用戶定義的普通的環(huán)境變量的一部分。其它的環(huán)境變量的定義可以在POSIX
shell的幫助中查找,你的用戶也可能需要用到其它的變量。
環(huán)境變量可以在命令行中定義,但是更通常的做法是在登錄配置文件中定義,這會在以下的章節(jié)中介紹。
用戶登錄的時候發(fā)生了什么?
雖然定制一個用戶的登錄環(huán)境的環(huán)境變量可以在命令行中定義,但是通常是在登錄過程中執(zhí)行的腳本中定義,典型的,有三個在登錄時執(zhí)行的腳本來初始化用戶環(huán)境。
第一個腳本是由系統(tǒng)管理員維護(hù)的一個腳本文件,用來為所有的用戶定制通用的環(huán)境變量。
第二個腳本是每個用戶維護(hù)的本地腳本,本地登錄腳本能覆蓋和修改系統(tǒng)默認(rèn)的腳本。
另一個可選的腳本:附加的本地登錄腳本能夠定義附加的環(huán)境變量或者設(shè)置附加的shell特征。在POSIX
shell中,附加的腳本通常用來定義shell別名。
登錄腳本的名字在各種shell中都是不同的。以下是POSIX,Korn,和C shells的登錄腳本的詳細(xì)討論:
Shell環(huán)境初始化的順序
1. shell運行正確的系統(tǒng)登錄腳本,這個腳本初始化用戶的環(huán)境。系統(tǒng)登錄腳本定義一個默認(rèn)的環(huán)境,這個腳本可以由系統(tǒng)管理員定制。
如果shell是.....系統(tǒng)登錄腳本是....
Bourne(/usr/old/bin/sh)/etc/profile
korn(/usr/bin/ksh)/etc/profile
POSIX(/usr/bin/sh)/etc/profile
限制的shell(/usr/bin/rshr,/usr/bin/rksh/etc/profile
C (/usr/bin/csh)/etc/csh.login
這些腳本定義和輸出的環(huán)境變量有PATH,TZ,TERM,其來源于/etc/PATH,/etc/MANPATH,/etc/TIMEZONE,/etc/SHLIB_PATH這些文件。由于這個系統(tǒng)登錄腳本在所有用戶登錄的時候都會運行,系統(tǒng)管理員可以通過修改這個文件來為所有用戶設(shè)置全球變量的默認(rèn)值。
這種特性還可以讓每一個用戶在登錄系統(tǒng)時執(zhí)行一些基本的命令。
2. 顯示/etc/copyright 和/etc/motd文件中的內(nèi)容。
3. 提示用戶沒有閱讀的新聞:
news:news_filename
4. shell運行在用戶的home目錄下的用戶的本地登錄腳本(如果存在)。
如果shell是.....本地登錄腳本為....
Bourne(/usr/old/bin/sh).profile
korn(/usr/bin/ksh).profile
POSIX(/usr/bin/sh).profile
限制的shell(/usr/bin/rshr,/usr/bin/rksh.profile
C (/usr/bin/csh).login
注意:在典型情況下,系統(tǒng)管理員在最初創(chuàng)建用戶帳號時,會為每個用戶創(chuàng)建一個本地的登錄腳本。如果使用useradd命令來添加一個用戶,它會拷貝默認(rèn)的本地登錄腳本文件(/etc/skel/.profile)到這個用戶的home目錄下。用戶可以自己繼續(xù)修改這個文件來定制他們的環(huán)境變量,以滿足自己的需要。
在這個腳本之外,POSIX,Korn,和C shells可能(通常都會)有另外的本地登錄腳本:
-POSIX和korn shell-:
如果定義了ENV變量,shell會運行在ENV中定義的文件(典型的,.shrc在開啟一個新的shell的時候執(zhí)行,許多程序(例如,vi,和mailx)運行用戶在程序執(zhí)行中開啟一個shell;這被稱為一個shell
escape,一個shell
escape會要求重新執(zhí)行一次ENV文件,而.profile只會在登錄的時候執(zhí)行。ENV文件(.kshrc或者.shrc)會在登錄時,.profile文件執(zhí)行后執(zhí)行。
- C shell:在一個新的C shell啟動的時候運行.cshrc文件。這和Korn shell
ENV文件的工作方式類似。.login 文件只在登錄的時候運行,每一次開啟一個新的C shell的時候會重新運行.chsrc文件。
一旦所有的初始化工作都完成后,shell會出現(xiàn)一個提示符等待用戶的輸入。
/etc/skel目錄
當(dāng)使用useradd命令創(chuàng)建一個新用戶帳號的時候,系統(tǒng)會拷貝一些默認(rèn)的配置文件到新用戶的home目錄下。/etc/skel目錄下的默認(rèn)的配置文件包括:
/etc/skel/.profile?????#ksh/posix本地登錄腳本
/etc/skel/.login??????#csh 本地登錄腳本
/etc/skel/.cshrc????? #csh 附加登錄腳本
/etc/skel/.exrc??????#vi 啟動配置文件
如果你想要更改拷貝到新用戶home目錄中的默認(rèn)配置文件,你可以修改/etc/skel中的文件。對/etc/skel目錄下的文件的修改不會影響已經(jīng)存在地用戶的home目錄下的文件。
如果你的應(yīng)用要求在用戶的home目錄下建立一些配置文件,你同樣可以通過添加文件/etc/skel目錄來自動建立這些配置文件。
本文來自ChinaUnix博客,如果查看原文請點:
http://blog.chinaunix.net/u2/84425/showart_2069345.html
歡迎光臨 Chinaunix (http://72891.cn/)
Powered by Discuz! X3.2