inetd.conf简单描述

/etc下的三个文件:inetd.conf,protocols,services,netconfig 之间有什么关系?是不是互相调用的?或者在调用过程中,还有什么其他的文件?

inet.conf是/usr/sbin/inetd的初始化文件,告诉/usr/sbin/inetd所需要监听的 inet服务及有关信息,每行有七个单元,对于socket类的服务各单元依次是: 

<服务名称> <协议(tcp或udp)> <标志(wait或 nowait)> <属主> <真实服务程序全路径> <真实服务程序名称及参数> 

如: 


ftp stream tcp nowait root /usr/sbin/in.ftpd in.ftpd 


表示/usr/sbin/inetd监视ftp服务(端口21),为此服务创建的socket为流类型的,遵从 tcp协议,当ftp客户请求到来并且与/usr/sbin/inetd监视的ftp服务端口连接成功后, /usr/sbin/inetd就fork一个子进程,该子进程的主人被置为root,同时继承了一个父进程与客户方连接成功而生成的子socket,然后该子进程将该子socket复制(dup2调用) 为文件号0,1, 2(标准输入输出标准出错)并且发 execl("/usr/sbin/in.ftpd", "in.ftpd") 使in.ftpd接管标准输入输出的处理,也就是接管父进程连接成功生成的子socket, 父进程不会等待子进程的退出(exit)状态,即nowait。 你如果对fork和exec族的调用有比较清楚的了解一看就会明白的,我前面的捉鬼记系列中的防火墙程序正是利用了/usr/sbin/inetd和/etc/inetd.conf这一特性。 

至于/etc/protocol和/etc/services则是系统正式登记的协议和服务名称,协议有协议号,服务有端口号,但是这些协议号和端口号有自己的登记名字,就体现在上述两个文件中,这两个文件会被许多应用程序查询的,即调用getprotobyname和getservbyname. 

netconfig是系统的网络设置?这个说法比较模糊呵呵我也不知道怎么表达(这跟getnetconfig等调用有关,应该是比较底层的东东,涉及网络名,设备名,动态库等等,呵呵越说越没底泥man netconfig好了,呵呵) 

(http://www.fanqiang.com)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值