分享
 
 
 

Linux系统的自动作业控制

王朝system·作者佚名  2006-11-23
窄屏简体版  字體: |||超大  

每次进入Linux系统的时候,总是看到类似于下面的登录画面:

Red Hat Linux release 6.2(Zoot)

Kernel 2.2.14-5.0 on an i686

这种冷冰冰的欢迎让人觉得很不友好。而且,有时候我们不仅希望能够自定义漂亮的登录画面,更希望系统在启动的时候自动执行自定义的脚本,这可以做到吗?

当然可以。和UNIX一样,Linux不但是一种多任务系统,而且一个很明显的优点,就是能够灵活的允许基于系统时间或时间的作业控制。我们希望的就是系统登录时的自动作业控制,下面就以它为例来分析Linux的自动作业控制(以red hat 6.2为例)。

启动脚本的概念

Linux的目录树结构中,/etc目录包括了所有与系统启动有关的配置文件,例如lilo.conf, profiles,inittab等,其中rc.d目录包括了系统启动时的所有运行脚本。这类脚本称为rc脚本,也称为运行控制脚本。rc.d目录下按照运行级别的不同又分为多个脚本目录。如下:

#ls /etc/rc.d

init.d rc.local rc0.d rc2.d rc4.d rc6.d

rc rc.sysinit rc1.d rc3.d rc5.d

这里的rc.sysinit作为系统的初始化脚本,是每一个运行级都要首先运行的。而rc.local则是每一个运行级别在最后都要运行的。在不同的运行级别,运行不同的rcx.d内的脚本。缺省情况下,每次启动时进入运行级别3,即有网络支持的标准多用户模式。我们来看rc3.d目录下有些什么样的脚本,如下:

#ls /etc/rc.d/rc3.d

K20nfs K35smb S10network S30syslog S60lpd S99linuxconf

K20rstatd K60marsnwe S11portmap S35identd S75keytable S99local

K20rusersd K84ypserv S14nfslock S40atd S80sendmail

K20rwalld K92ipchains S16apmd S40crond S85gpm

K20rwhod S05kudzu S20random S45pcmcia S85httpd

K34yppasswdd S10dualconf S25netfs S50inet S90xfs

每个脚本命名的方式是“前缀+序号+脚本名”。在前缀后面,每一个脚本都有标识自身的序号,这个序号控制着脚本的运行顺序,而且前缀为K或S也各有不同的含义,其中:

K 为前缀时表示运行脚本将删除(Kill)一个进程

S 为前缀时表示运行脚本将启动(Start)一个进程

通过创建自己的脚本来实现系统启动时的自动作业

如上所述,可以在rc3.d建立自己的脚本文件,来实现系统启动时的自动运行。为了不和系统原有的脚本发生冲突,应该在执行完系统的其他所有脚本之后才开始运行,因此,创建的脚本的序号应不小于系统原有的脚本的序号,在这里是S99local,因此可以设置我们的脚本为S99myscript(允许有多个脚本采用同样的序号),只是注意要把这个脚本的属性和所有者等信息设置为与其他脚本相同。

更改系统的登录画面

通常情况下,登录画面保存在/etc目录下的issue文件,如下:

#more /etc/issue

Red Hat Linux release 6.2(Zoot)

Kernel 2.2.14-5.0 on an i686

可以用vi等任何一种文本编辑器编辑issue文件成为我们想要的形式。那么,下一次启动的时候,系统便会读取issue文件作为登录画面吗?

实际上,光改动issue文件是不行的,还必须修改相应的控制文件。对issue文件的控制文件在前面提到过的/etc/rc.d中的rc.local脚本中。我们来看rc.local的最后一部分语句吧:

#more /etc/rc.d/rc.local

...

#This will overwrite /etc/issue at every boot. So, make any changes you

#want to make to /etc/issue here or you will lose them when you reboot.

echo "" > /etc/issue

echo "$R" >> /etc/issue

echo "Kernel $(uname -r) on $a $SMP$(uname -m)" >> /etc/issue

cp -f /etc/issue /etc/issue.net

echo >> /etc/issue

fi

从这里可以看出,每次系统启动的时候,实际上是利用rc.local脚本重新生成issue文件。这样,就有两个选择,或者注释掉这里的语句,或者直接把对issue的改动语句放到这里,效果是一样的。

远程登录情形

检查/etc目录下的inetd.conf配置文件,可以看到有这样一个语句:

...

telnet stream tcp nowait root /usr/sbin/tcpd in.telnetd

...

可以看出,对于telnet请求,系统执行/usr/sbin/in.telnetd来响应。因此,我们可以通过如下的方法来修改远程登录的自动作业控制:

(1)首先进入/usr/sbin目录:#cd /usr/sbin;

(2)创建自己的自动作业脚本,例如取名为in.myscript,注意属性和所有者等应和in.telnetd相同;

(3)把文件in.telnetd改名,例如改为in.telnetd.second;

(4)创建一个名为in.telnetd的shell脚本,在这个脚本中,首先运行in.myscript,最后运行in.telnetd.second,例如可以写成下面这样:

#!/bin/sh

echo ""

exec /usr/bin/in.myscript

exec /usr/bin/in.telnetd.second

对登录画面的修改,由刚才的分析我们知道,可以创建一个自动运行的脚本,这个脚本的功能就是显示自定义的登录画面文件。

除此以外,还有一种和前面对issue文件的修改很类似的做法。

细心的读者可能会注意到,前面提到的rc.local文件脚本中有一个语句:

...

cp -f /etc/issue /etc/issue.net

...

这个语句的作用是把issue文件复制成/etc目录下的issue.net文件。其实,issue.net文件就是远程登录时的登录画面。所以可以采用与修改登录画面相同的方法来修改远程登录画面。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有