亚洲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