📄 0560daemons.htm
字号:
<li><a name="xinetd.conf"></a><b><font color="#000099" face="SimSun">/etc/xinetd.conf</font></b></li><br>这个档案就是设定 xinet 服务的参数档案啦!</ul></blockquote><blockquote><ul><hr width="100%"><li><a name="xinetd.d"></a><b><font color="#000099" face="SimSun">/etc/xinetd.d/*</font></b></li><br>这个目录里面的所有档案就是个别挂上 xinet 的所有服务啦!例如赫赫有名的wu-ftpd 及 telnet 与 pop3 等等!</ul></blockquote><hr width="100%"><a name="xinetd"></a><font size="+1" color="#000099">解析xinetd.conf</font><blockquote>一般而言,在 /etc/rc.d/init.d/ 里面的 scripts 都是发展者之RPM 所提供的,如果您有兴趣自行发展你的软件的话,那么可以直接以这样的方式来独立启动的!不过,我们也可以经由super daemon 来管理我们的服务,因为这个 super daemon 可以提供相当多的功能,尤其是安全性方面的功能,所以,我们就来谈一谈如何使用这个东西吧!<br> <br>先来看一看预设的 /etc/xinetd.conf 这个档案的内容是什么吧!<br> <table bgcolor="#000000" border="1" cols="1" width="500"><tbody><tr><td><font size="-1" color="#ffffff" face="SimSun">#</font><br><font size="-1" color="#ffffff" face="SimSun"># Simple configurationfile for xinetd</font><br><font size="-1" color="#ffffff" face="SimSun">#</font><br><font size="-1" color="#ffffff" face="SimSun"># Some defaults,and include /etc/xinetd.d/</font><p><font size="-1" color="#ffffff" face="SimSun">defaults</font><br><font size="-1" color="#ffffff" face="SimSun">{</font><br><font size="-1" color="#ffffff" face="SimSun">       instances              = 60</font><br><font size="-1" color="#ffffff" face="SimSun">       log_type               = SYSLOG authpriv</font><br><font size="-1" color="#ffffff" face="SimSun">       log_on_success          =HOST PID</font><br><font size="-1" color="#ffffff" face="SimSun">       log_on_failure          =HOST</font><br><font size="-1" color="#ffffff" face="SimSun">       cps                    = 25 30</font><br><font size="-1" color="#ffffff" face="SimSun">}</font></p><p><font size="-1" color="#ffffff" face="SimSun">includedir /etc/xinetd.d</font></p></td></tr><tr><td><font size="-1" color="#ffff00" face="SimSun">内容格式:</font><br><font size="-1" color="#ffff00" face="SimSun">service <service_name></font><br><font size="-1" color="#ffff00" face="SimSun">{</font><br><font size="-1" color="#ffff00" face="SimSun">      <attribute> <assign_op> <value> <value> ...</font><br><font size="-1" color="#ffff00" face="SimSun">      ...</font><br><font size="-1" color="#ffff00" face="SimSun">}</font></td></tr></tbody></table> <br>在上面的预设范例当中,说明的是:『<b><font color="#3333ff">如果没有指定的services ( defaults ) 那么就用 {} 里面的设定来执行之!</font></b>』正常的情况之下有点像上面例子中的黄色字体所示,那个<> 里头的数据我们先来说明一下:注:那个 <b><font color="#000099">assign_op</font></b>主要有三种形式,分别如下:<blockquote><font color="#000066" face="SimSun"> = : 表示后面的设定参数就是这样啦!</font><br><font color="#000066" face="SimSun">+= : 表示后面的设定为『<b>在原来的设定里头加入新的参数</b>』</font><br><font color="#000066" face="SimSun">-+ : 表示后面的设定为『<b>在原来的参数舍弃这里输入的参数</b>!』</font></blockquote><font face="SimSun">用途不太相同,敬请留意呦!好了!底下再来说一说那些attribute 与 value !</font><br> <table border="1" cols="3" width="800"><tbody><tr><td bgcolor="#ffcccc" width="150"><center><font face="SimSun">attribute</font><br><font face="SimSun">(功能)</font></center></td><td bgcolor="#cccccc" width="150"><center><font face="SimSun">assing_op</font><br><font face="SimSun">(允许的动作)</font></center></td><td bgcolor="#ccffff"><center><font face="SimSun">说明</font><br><font face="SimSun">(范例)</font></center></td></tr><tr><td bgcolor="#ccffff"><b><font color="#000066">一般设定项目:</font></b></td><td bgcolor="#ccffff"></td><td bgcolor="#ccffff"></td></tr><tr><td><center><b><font face="SimSun">disable</font></b></center></td><td><center><font face="SimSun">yes</font><br><font face="SimSun">no</font></center></td><td><font face="SimSun">允许该 server 可以执行或者是不能执行!</font><br><font face="SimSun">当设定为 <b><font color="#3333ff">yes</font></b>表示该服务不能执行!</font></td></tr><tr><td><center><b><font face="SimSun">socket_type</font></b></center></td><td><center><b><font face="SimSun">stream</font></b><br><font face="SimSun">dgram</font><br><font face="SimSun">raw</font></center></td><td><font face="SimSun">当联机为 TCP 封包时,则使用 stream 类型</font><br><font face="SimSun">当联机为 UDP 封包时,则使用 dgram  类型</font><br><font face="SimSun">raw 代表 server 需要与 IP 直接对谈!</font></td></tr><tr><td><center><font face="SimSun">protocol</font></center></td><td><center><font face="SimSun">tcp</font><br><font face="SimSun">udp</font><br><font face="SimSun">...</font></center></td><td><font face="SimSun">这个东西说的是,联机的状态使用的是哪一种协议!?各个协议的代号可以参考/etc/protocols 内容!此外,除非是你自己设定的服务,否则这个可以不用设定啦!</font></td></tr><tr><td><center><b><font face="SimSun">wait</font></b></center></td><td><center><font face="SimSun">yes</font><br><b><font face="SimSun">no</font></b></center></td><td><font face="SimSun">这就是我们刚刚提到的 <b><font color="#3333ff">Multi-threaded</font></b>与 single-threaded 的方式啦!一般来说,我们希望大家的要求都可以同时被启用,所以可以设定<b><font color="#3333ff">wait= no</font></b></font></td></tr><tr><td><center><b><font face="SimSun">user</font></b></center></td><td><center><font face="SimSun">UID</font><br><font face="SimSun">root</font></center></td><td><font face="SimSun">还记得我们在 <a href="http://linux.vbird.org/linux_basic/0410accountmanager.php">账号管理</a>那一篇提到的 UID 概念吗?对啦!这个 UID 就是那个 UID 啦!要注意的是,假如你的服务启动者不要以root 为主的话,那么这个地方就可以改变其它的使用者,例如 nobody !这个咚咚也会有安全防护的机制存在!此外,需要注意这个UID 必须存在于 /etc/passwd 。</font></td></tr><tr><td><center><font face="SimSun">group</font></center></td><td><center>GID</center></td><td>跟 user 的意思相同!只是这个 GID 的使用者也必须存在于 /etc/group 当中!</td></tr><tr><td><center><b><font face="SimSun">instances</font></b></center></td><td><center><font face="SimSun">number</font><br><font face="SimSun">UNLIMITED</font></center></td><td><font face="SimSun">这个是『<b><font color="#3333ff">在同一时间之内,同一个服务可以允许的联机数目</font></b>』的意思,你可以写入一个『<b><font color="#3333ff">数字</font></b>』来控制联机数目,也可以使用<b><font color="#3333ff">UNLIMITED</font></b>来告诉系统『<b><font color="#3333ff">没有上限</font></b>』啰!例如你在同时段之内仅允许ftp 联机有 30 个,那么这里就可以输入 30 啦!</font></td></tr><tr><td><center><b><font face="SimSun">nice</font></b></center></td><td><center><font face="SimSun">-19 ~ 19</font></center></td><td><font face="SimSun">还记得我们在 <a href="http://linux.vbird.org/linux_basic/0440processcontrol.php">程序管理</a>里面谈到的那个 nice 指令吗?!对啦!这里就是这个东西啰!数字越小( 负值)代表该程序越优先被执行!</font></td></tr><tr><td><center><b><font face="SimSun">server</font></b></center></td><td><center><font face="SimSun">program</font><br><font face="SimSun">/usr/sbin/in.ftpd</font></center></td><td><font face="SimSun">这个就是指出这个服务的启动程序!例如要启动 ftp的话,其实就是 in.ftpd 这支程序啦!所以这个时候在这里输入 server = /usr/sbin/in.ftpd</font></td></tr><tr><td><center><b><font face="SimSun">server_args</font></b></center></td><td>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -