HPUX第04章定制用户账号.docx
- 文档编号:11647608
- 上传时间:2023-03-29
- 格式:DOCX
- 页数:9
- 大小:128.83KB
HPUX第04章定制用户账号.docx
《HPUX第04章定制用户账号.docx》由会员分享,可在线阅读,更多相关《HPUX第04章定制用户账号.docx(9页珍藏版)》请在冰豆网上搜索。
HPUX第04章定制用户账号
第4章定制用户账号
目标
完成此章学习后,你将掌握下列内容:
⏹列出登录过程中读到的配置文件。
⏹改变用户的默认路径。
⏹改变用户的默认终端类型。
⏹改变用户的提示符。
⏹改变用户的命令行编辑器。
⏹改变用户的默认打印机。
⏹管理/etc/skel里的默认配置文件。
4.1为什么要定制用户账号
注释
简单地为用户在/etc/passwd和/etc/group文件中建立一个条目可能不能满足用户要求的所有功能。
你可能需要定义用户终端类型,这样应用程序才能在用户的屏幕上正确显示。
你也许需要定制用户的提示符,许多用户喜欢将现在的工作路径显示在提示符中。
虽然系统管理员定义了系统的默认打印机,但用户可能希望选择另一个默认打印机。
如果用户使用第三方应用程序,你就需要修改他们的PATH变量,使shell能找到可执行的应用。
⏹如果用户希望使用命令行编辑和历史命令机制,则需要一些特殊的设置。
你可能需要为新用户设置这个功能。
4.2一些定制的例子
注释
所有在前一张幻灯片中提到的功能都是通过配置登录过程中设置的环境变量来实现的。
一些最经常被修改的环境变量为:
1.TERM TERM变量用于定义用户的终端类型。
如果TERM变量设置不正确,应用程序可能不能正确地在用户终端上显示。
合法的终端类型列在/usr/lib/terminfo/*目录中。
你可以用类似以下的命令准确设置适当的TERM值。
exportTERM=vt100#vt100类型的终端
exportTERM=hp#HPASCII终端
exportTERM=dtterm#dtterm仿真终端
一般来说,TERM变量是通过ttytype命令设置的,通过该命令通常可自动检测你的终端类型。
下面这部分代码可以放到登录脚本中来设置你的终端类型。
If[“$TERM”=“”–o\
“$TERM”=“unknown”–o\
“$TERM”=“dialup”–o\
“$TERM”=“network”]
then
eval‘ttytype–s–a’
fi
exportTERM
2.PS1PS1变量用于定义你的提示符,可以被用户修改。
下面是一些有用的PS1例子。
exportPS1=‘$’#使用简单的$提示符
exportPS1=‘$PWD$’#在提示符中包括用户的所在当前目录信息
exportPS1=‘$PWD($LOGNAME)$’#也包括用户所在当前目录和用户名信息
3.LPDEST LPDEST用于定义用户的默认打印机。
LPDEST定义的默认打印机优先于系统管理员配置的系统范围内的默认打印机。
例如:
exportLPDEST=laser#定义“laser”为默认的打印机
exportLPDEST=printera#定义“printera”为默认的打印机
4.PATH 每次用户输入一个命令,shell必须找到相关的可执行命令。
PATH变量包含一系列以“:
”分开的路径,shell将在这些路径中查找执行命令。
如果用户需要使用新的程序和应用,你可能需要修改他们的PATH变量。
你可以用类似下面的语句添加新路径到用户的PATH中:
PATH=$PATH:
/usr/local/bin#在当前的PATH上添加/usr/local/bin
PATH变量的初始值通常来自于/etc/PATH文件,一般安装应用程序时自动修改/etc/PATH文件,所以不一定需要修改每个用户的PATH变量。
5.EDITOR 如果你的用户想使用命令行编辑,必须设置如下3个变量:
exportEDITOR=vi
exportHISTFILE=~/.sh_history
exportHISTSIZE=50
EDITOR定义了用户喜欢的命令行编辑器,允许使用emacs和vi。
HISTFILE指定的文件保存了用户输入的命令记录。
HISTSIZE决定了shell命令缓冲区里存放的命令数量。
你还可以为用户定义更多通常定义的环境变量,其他环境变量定义在POSIXshell的帮助文件中(man1sh-posix),还有一些可能是你的应用程序需要的。
环境变量也可以在命令行中定义,但一般是在登录配置文件中定义的,我们会在后面学到这些。
4.3定制文本终端的登录
注释
虽然定制用户登录的系统环境变量可以在命令行里定义,但通常是在登录过程中执行的几个脚本中被定义的。
典型情况是,在登录过程中执行3个脚本来初始化用户环境。
第一个是系统管理员维护的系统范围的脚本,定义了所有用户需要的一般环境变量。
第二个是每个用户自己维护的本地登录脚本,根据用户不同,本地登录脚本能够覆盖或修改系统默认值。
可选的附加本地系统脚本可以定义附加环境变量或设置附加Shell功能。
在POSIXshell中,这种附加脚本经常被用来定义Shell的别名。
不同shell的登录脚本名称不同。
POSIX、Korn和Cshell的登录脚本如下。
shell环境初始化顺序
1.shell通过运行相应的系统登录脚本设置用户环境。
系统登录脚本定义了默认环境,
系统管理员可以自定义这些环境(见表4-1)。
这些脚本通过调用文件/etc/PATH、/etc/MANPATH、/etc/TIMEZONE为用户SHELL定义了环境变量PATH、TZ和TERM的初始值。
由于系统登录脚本是所有用户登录时需要执行的,因此系统管理员可以修改这些文件来为所有用户设置默认全局变量。
表4-1
Shell
系统登录的脚本
Bourne(/usr/old/bin/sh)
/etc/profile
Korn(/usr/bin/ksh)
/etc/profile
POSIX(/usr/bin/sh)
/etc/profile
Restricted(/usr/bin/rsh,/usr/bin/rksh)
/etc/profile
C(/usr/bin/csh)
/etc/csh.login
2.显示/etc/copyright和/etc/motd文件的内容。
3.提示用户没有读过的news。
News:
news_filename
.shell运行用户主目录下的本地登录脚本(如果存在)(见表4-2)。
表4-2
Shell
系统登录的脚本
Bourne(/usr/old/bin/sh)
.profile
Korn(/usr/bin/ksh)
.profile
POSIX(/usr/bin/sh)
.profile
Restricted(/usr/bin/rsh,/usr/bin/rksh)
.profile
C(/usr/bin/csh)
.login
注意
典型情况是,系统管理员为每个用户创建一个初始本地登录脚本。
如果用SAM或useradd添加用户,则将默认本地登录脚本(/etc/ske1/profile)拷贝到用户的主目录中。
用户可以修改这些文件,配置自己需要的环境。
除了以上脚本,POSIX、Korn和Cshell还可以有附加的本地登录脚本,如:
(1)POSIX和Kornshell如果定义了ENV变量,新shell启动时会运行ENV定义的文件(通常为.shrc)。
许多程序(如vi、mailx)允许用户在程序中开始一个新的shell,这被称之为shellescape。
ENV文件会在shellescape时重新运行,而.profile文件只有在登录时才被运行。
ENV文件(.kshrc或.shrc)在登录过程中将在.profile后被执行。
(2)CshellCshell启动时.cshrc会被执行,这与Kornshell的ENV文件的工作相似。
.login文件只是在登录时运行,而.cshrc在每一次进入Cshell时会重新运行。
在登录过程中.cshrc将在.login之前运行。
5.当所有初始化结束后,shell显示一个提示符并等待用户输入。
4.4定制CDE登录
注释
使用CDE登录和telnet、文本终端登录过程有很大不同:
1./usr/dt/bin/dtlogin负责显示CDE登录窗口并确认用户名和口令。
你可以通过复制/usr/dt/config/Xconfig到/etc/dt/config/Xconfig,并手工修改该文件来定制登录窗口的颜色和外观。
2.然后用/usr/dt/config/Xstartup设定DISPLAY、HOME、PATH、USER、SHELL和TZ等环境变量的初始值。
任何用户使用CDE登录时均会执行该命令。
你可以复制/usr/dt/config/Xstartup到/etc/dt/config/Xstartup,并可在/etc/profile中定义附加的环境变量。
3.CDE登录将最后执行~/.dtprofile。
该程序默认仅包含少量注释,但用户可在其中定义附加变量。
注:
默认时/etc/profile、~/.profile和~/.shrc文件在CDE登录过程中不被调用。
CDE登录过程中执行/etc/profile
虽然/etc/profile在默认的CDE登录过程中不被执行,但为了使CDE和字符终端登录时能具备相同的环境变量,可以强制执行该文件。
为了强制CDE执行/etc/profile,可在/etc/dt/config/Xsession.d目录下生成/etc/profile的联接文件。
CDE在登录过程中会自动执行Xsession.d目录下的所有程序,以确认该目录下的程序拥有读和执行的权限。
#ln/etc/profile/etc/dt/config/Xsession.d/profile
#chmod+rx/etc/dt/config/Xsession.d/profile
CDE登录过程中执行~/.profile
默认时,CDE执行~/.dtprofile,而不执行~/.profile。
如果希望在CDE登录过程中还执行~/.profile,可进行如下操作:
首先,必须确认.profile中stty、tset、ttytype和字符终端的其他相关命令仅在终端或telnet登录时执行。
请按如下所示将上述命令包含在特定条件下:
#vi~/.profile
...
if[!
"$DT"];then
TERM=$(ttytype)
sttyerase"^H"kill"^U"intr"^C"eof"^D"susp"^Z"
sttybrkinthupclixonixoff
fi
...
然后在~/.dtprofile中将DTSOURCEPROFILE变量设定为“true”。
这将使CDE读取.profile并执行。
#vi~/.dtprofile
...
exportDTSOURCEPROFILE=true
...
CDE登录时执行~/.shrc
为了执行~/.shrc,必须定义ENV变量。
如果你已设定在CDE登录过程中执行.profile,那么你可以在~/.profile中定义ENV变量。
如果你未设定在CDE登录过程中执行~/.profile,则可以在~/.dtprofile中定义ENV变量。
在上述两种情况下,该变量可按如下定义:
exportENV=~/.shrc
4.5/etc/skel目录
注释
当用SAM或useradd创建一个用户账号后,默认的配置文件将从/etc/skel目录拷贝到新用户的主目录下。
/etc/skel目录中默认包含下面几个文件:
/etc/skel/.profile#/ksh/posix本地登录脚本
/etc/skel/.login#csh本地登录脚本
/etc/skel/.cshrc#csh附加登录脚本
/etc/skel/.exrc#vi初始配置文件
如果想改变默认拷贝到新用户主目录下的文件中,则可以修改/etc/skel里的文件。
注意在/etc/skel里所做的改变不会影响已经存在的主目录。
如果应用程序需要在用户主目录里配置文件,则也可以将其他文件拷贝到/etc/skel里。
注意
在/etc/skel目录下没有.dtprofile定制文件。
当用户第一次用CDE登录时,系统会复制/etc/dt/config/sys.dtprofile(若存在)或/usr/dt/config/sys。
dtprofile到用户的~/.dtprofile。
请使用下列命令来定制.dtprofile:
#cp–p/usr/dt/config/sys.dtprofile/etc/dt/config/sys.dtprofile
#vi/etc/dt/config/sys.dtprofile
4.6 实验:
定制用户账号
第一部分:
通过.profile定制账号
修改适当的配置文件,使root在下次登录时可以使用命令行编辑。
修改适当的配置文件,使下次登录时系统管理员的shell提示符显示当前工作路径
和用户名。
如果你的系统运行着CDE,则修改root的CDE登录脚本,使下次登录时系统运行你的.profile文件。
1.通过这个星期的学习,你可以运行/labs目录下的几个脚本。
在/labs目录下应该有一个叫做xroach的程序,当在你的主目录下键入并运行xroach–speed2时,你得到了什么信息?
5.怎样才能保证你在任何目录里都可以执行xroach和其他/labs里的可执行文件?
第二部分:
通过/etc/skel定制新账号
1.新添加的用户可能希望具有与第一部分里root相同功能的配置。
怎样才能保证所有新添加的用户都具有第一部分为root配置的相同功能呢?
实现它。
2.只有当新用户具有修改过的.dtprofile时,.profile才被读取。
怎样做才能保证新的home目录能自动得到第一部分建立并修改过的.dtprofile的拷贝呢?
实现它。
用SAM或useradd创建一个新的用户账号,用新用户登录,看看你的设置是否成功。
改变/etc/skel影响已经存在的账号吗?
试着以user24登录,它会显示你在/etc/skel/.profile里配置的提示符吗?
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- HPUX第04章 定制用户账号 HPUX 04 定制 用户 账号
![提示](https://static.bdocx.com/images/bang_tan.gif)