在redhat linux 7.0中,用xinetd来启动一些守护进程,而这一工具在相关资料中介绍并不多,为此,本人在配置时,很是头疼了一阵。现在,终于配好了,不感独占,拿出来,与各位同人分享。如有错误,也请各位大虾指正。
下面,以我配置的proftpd为例,说一下。
首先,我们先看一下/etc/xinetd.conf文件。
<1> [wc&#64;dns wc]$ cat /etc/xinetd.conf
<2> #
<3> # simple configuration file for xinetd
<4> #
<5> # some defaults, and include /etc/xinetd.d/
<6>
<7> defaults
<8> {
<9> instances &#61; 60
<10> log_type &#61; syslog authpriv
<11> log_on_success&#61; host pid
<12> log_on_failure&#61; host record
<13> }
<14>
<15> includedir /etc/xinetd.d
在defaults中定义了几项默认设置&#xff0c;我们不用去管它。我们最关心的是最后一行(15行)&#xff1a;“includedir/etc/xinetd.d”&#xff0c;它说明了xinetd的配置文件在/etc/xinetd.d/目录中。到/etc/xinetd.d/目录里看看吧。
[wc&#64;dns wc]$ cd /etc/xinetd.d
[wc&#64;dns xinetd.d]$ ls -l
total 75
-rw-r–r– 1 root root 298 apr 22 11:38 chargen
-rw-r–r– 1 root root 313 apr 22 11:38 chargen-udp
-rw-r–r– 1 root root 298 apr 22 11:38 daytime
-rw-r–r– 1 root root 313 apr 22 11:38 daytime-udp
-rw-r–r– 1 root root 290 apr 22 11:38 echo
-rw-r–r– 1 root root 304 apr 22 11:38 echo-udp
-rw-r–r– 1 root root 318 apr 22 11:38 finger
-rw-r–r– 1 root root 345 apr 22 11:38 linuxconf-web
-rw-r–r– 1 root root 259 apr 22 11:38 ntalk
-rw-r–r– 1 root root 362 apr 22 11:38 rexec
-rw-r–r– 1 root root 377 apr 22 11:38 rlogin
-rw-r–r– 1 root root 430 apr 22 11:38 rsh
-rw-r–r– 1 root root 359 apr 22 11:38 swat
-rw-r–r– 1 root root 247 apr 22 11:38 talk
-rw-r–r– 1 root root 305 apr 22 11:38 telnet
-rw-r–r– 1 root root 498 apr 22 11:38 tftp
-rw-r–r– 1 root root 322 apr 22 11:38 time
-rw-r–r– 1 root root 309 apr 22 11:38 time-udp
哈哈&#xff0c;全都在呀。现在&#xff0c;我开始配置proftpd的启动文件吧。到这一步时&#xff0c;我已经装好了proftpd&#xff0c;并且对proftpd配置文件/usr/local/etc/proftpd.conf做了两处修改&#xff1a;
(1)&#xff0c;将servertype standalone改为&#xff1a;servertype inetd
(2)&#xff0c;将group nogroup改为&#xff1a;group nobody
好了&#xff0c;现在应该是以root的身份在/etc/xinetd.d/目录中编辑文本文件proftpd&#xff0c;内容如下&#xff1a;
<1> # default: on
<2> # description: the proftpd server serves proftpd sessions;
<3> service proftpd
<4> {
<5> disable &#61; no
<6> port &#61; 21
<7> socket_type &#61; stream
<8> protocol &#61; tcp
<9> user &#61; root
<10> server &#61; /usr/local/sbin/in.proftpd
<11> type &#61; unlisted
<12> wait &#61; no
<13> }
第一和第二行是注释行&#xff0c;不用管它。第三行是定义服务的名称为proftpd。
第五行disable的意思是禁用&#xff0c;那么&#xff0c;disable&#61;no就是启动。
第六行是指定该服务的端口&#xff0c;ftp的端口是21。如果你不用21端口&#xff0c;可以根据proftpd.conf文件作相应的改变。
第七行是socket的类型&#xff0c;这里我们设为stream(流)。
第八行是指定协议&#xff0c;这里我们设为tcp协议。
第九行是启动该服务的用户&#xff0c;我们设为root。
第十行是指定运行文件的路径。
第十二行是不等待到启动完成。
好了&#xff0c;文件编好后&#xff0c;运行&#xff1a;#killall -hup xinetd。然后让我们试一试吧&#xff1a;#ftp localhost&#xff0c;怎么样&#xff0c;反正我得proftpd是搞定了。如果还不行&#xff0c;参考一下该目录中的别的启动文件。
总结一下&#xff0c;实际上&#xff0c;对于配置来说&#xff0c;就是把以前/etc/inetd.conf文件中得一行换为现在/etc/xinetd.d/目录中的一个文件。