欢迎来到天天文库
浏览记录
ID:34623690
大小:315.12 KB
页数:7页
时间:2019-03-08
《linux与unix shell编程指南013》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、下载第三部分登录环境第13章登录环境登录系统时,在进入命令提示符前,系统要做两个工作。键入用户名和密码后,系统检查是否为有效用户,为此需查询/etc/passwd文件。如果登录名正确并且密码有效,开始下一步过程,即登录环境。本章内容有:¥登录过程。¥文件/etc/passwd。¥$HOME.profile。¥定制$HOME.profile。在进行下一步处理之前,先看看文件/etc/passwd。这是一个文本文件,可以任意修改其中的文本域,但要小心。此文本有7个域,并用冒号作分隔符,以下是其部分文件内容列
2、表。在顶端加有列号,这样各域标识得更加清晰。现在来看看各域,第1域是登录名,第2域是加密的密码,第5域是用户全名。第6域是用户根目录,第7域是用户使用的shell。这里/bin/sh意即缺省为常规BourneShell。Passwd文件可能还有其他格式。其中的一个版本即为实际passwd域保存在另一个文件中。以上即为最普通格式。登录成功后,系统执行两个环境设置文件,第一个是/etc/profile,第二个是.profile,位于用户根目录下。系统还会处理其他的初始化文件。这里只涉及profile文件。1
3、3.1/etc/profile用户登录时,自动读取/etc目录下profile文件,此文件包含:¥全局或局部环境变量。¥PATH信息。¥终端设置。¥安全命令。¥日期信息或放弃操作信息。下面就来详细解释上述各项内容。设置全局环境变量便于用户及其进程和应用访问它。126第三部分登录环境下载PATH定位包含可执行文件,库文件及一般文本文件的目录位置,便于用户快速访问。终端设置使系统获知用户终端的一般特性。安全命令包括文件创建模式或敏感区域的双登录提示。日期信息是一个文本文件,保存用户登录时即将发生事件的记录或
4、放弃登录的信息文件。以下是文件/etc/profile,列表后将予以讨论。第13章登录环境127下载其中一些命令可能不好理解,不必担心,本书以后将陆续予以介绍。如果愿意,可以参照这个列表建立自己的profile文件。第一行捕获两个信号,即使用QUIT退出用户或键停止文件执行。接下来导出LOGNAME;然后指定系统额外增加的man页查询的位置。MANPATH将此位置加入存在的man页查询列表中。检查时区文件,如果存在,指定它作为时区源,设置终端类型为vt220。重新设置捕获信号,以便于用户
5、读取日期文件信息,但此后必须再重新设置它。建立邮件信息(当有新邮件到达时显示此信息)。设置umask值,使文件创建时带有一定的缺省权限位集。初始化环境变量,设置路径并导出,以便于用户使用。重新设置捕获信号和QUIT。保存缺省的stty设置,便于用户退出查询系统时能够重新初始化终端设置。128第三部分登录环境下载将所有连接注册到文件/var/adm/messages,即缺省系统注册文件中。使用ulimit命令限制内存溢出或十六进制溢出数目。下面的一小段脚本限制用户最多同时登录两次,但不包括
6、三个人(idnk,psalom,dave),如果有人试图登录超过两次,则令其退出登录进程。最后设置命令提示符到登录名。此环境设置为全局使用,下面在用户自己的profile文件中定制环境。13.2用户的$HOME.profile/etc/profile文件执行时,用户将被放入到自己的$HOME目录中,回过头来观察passwd文件,用户的$HOME目录在倒数第2列。可以将之看作用户根目录,因为正是在这里存储了所有的私有信息。如果.profile已经存在,系统将参照此文件,意即对此过程并不创建另一个shell
7、,因而在/etc/profile下设置的环境不做改动,除非在.profile中强制改动它。如果创建另一个进程,用户本地的shell变量将被覆盖。回到.profile,一般来说创建帐户时,一个profile文件的基本框架即随之创建。不要忘了在.profile文件中可以通过设置相关条目以不同的值或使用uset命令来覆盖/etc/profile文件中的设置。如果愿意,可以定制用户自己的.profile文件。先来看看标准的.profile文件。现在改动此文件。现在加入两个环境变量,如EDITOR,以使cron或
8、其他应用获知正在使用的编辑器;将TERM变量设置为vt100,而不是vt220。也可以创建bin目录,将之加入路径(path),目录结构中加一个bin目录是一个好习惯。在这里可以保存所有脚本,将之加入PATH后,就不必写入脚本的文件路径名全称,只键入脚本名即可。几乎没有人想在命令提示符中显示自己的登录名,而宁愿使用现在的目录路径或是正在使用的系统主机名做提示符。例如,下面显示了在命令提示符中如何设置主机名:如果用户位于当前目录下:如果上面的
此文档下载收益归作者所有