rss· 投稿· 设为首页· 加入收藏· 繁體版
当前位置: 火魔网 » 操作系统 » Redhat

RedHat-Wrapper和xinetd的实现(三)

编者:Wrapper和xinetd是实现Linux的存取限制一种方式。我们在第一篇文章中介绍了其基本原理和安装编译的方法,在第二篇文章中跟大家仔细说了一下它的配置。没有看到的朋友可以去看一下页面底部的相关文章。今天讲到一些实例,便于大家的理解和掌握。最后还提到了日志管理。   1. defaults配置   【范例1】/etc/xinetd.conf   # Simple configuration file for xinetd   # Some defaults, and include /etc/xinetd.d/      defaults   {   instances = 60   log_type = SYSLOG authpriv   log_on_success = HOST PID   log_on_failure = HOST   cps = 25 30   }   includedir /etc/xinetd.d      
  解读:RedHat 7.x建议的配置方法不是将所有服务项都写在一个文件里面,/etc/xinetd.conf是作为默认配置文件用的,/etc/xinetd.d目录下面的每个文件对应一个服务。前面说过,默认项的设置是作用于所有服务的,由此可以看出上面的对所有服务都是设置了60个实例、设置的日志方式为SYSLOG authpriv,登陆成功时记录HOST和PID,失败时仅记录HOST,   每秒最多处理25个连接,如果超过这个数目的连接则等待30秒后继续处理。Includedir指令指定了配置文件的目录是/etc/xinetd.d      2.telnet的配置
  【范例1】/etc/xinetd.d/telnet   # default: on   # description: The telnet server serves telnet sessions; it uses
  # unencrypted username/password pairs for authentication.   service telnet   {    disable = no    flags = REUSE    socket_type = stream    wait = no    user = root    instances = 10    server = /usr/sbin/in.telnetd    log_on_failure += USERID    rlimit_as = 8M    rlimit_cpu=20   }      
  1、 instances的设置覆盖了defaults项的设置;   2、 log_on_failure属性在defaults项的基础上加上了USERID。   3、 对TELNET服务设置了资源限制,最多可用内存为8M,CPU每秒处理20个进程。
  3 .echo的配置   【范例3.1】/etc/xinetd.d/echo   # default: off   # description: An echo server. This is the tcp
  # version.   service echo   {    disable = yes    type = INTERNAL    id = echo-stream    socket_type = stream    protocol = tcp    user = root    wait = no   }      
  【范例3.2】/etc/xinetd.d/echo-udp   # default: off   # description: An echo server. This is the udp
  # version.   service echo   {    disable = yes    type = INTERNAL UNLISTED    id = echo-dgram    socket_type = dgram    protocol = udp    user = root    wait = yes    port = 7   }      解读:由于它们的服务名相同,只是socket类型不同,所以,使用id属性来区分。    4. RPC类服务例子   【范例4】/etc/xinetd.d/rstatd   service rstatd   {    type = RPC    socket_type = dgram    protocol = udp    server = /usr/etc/rpc.rstatd    wait = yes    user = root    rpc_version = 2-4    env =LD_LIBRARY_PATH=/etc/securelib   }         
  5. 自定义的服务配置范例
  【范例4】/etc/xinetd.d/sample   service sample   {    type = UNLISTED    socket_type = stream    protocol = tcp    server = /usr/bin/sample    port =20020   }   xinetd进程   1 启动与中止:
  如果你使用的是7.x 的默认安装:   /etc/rc.d/init.d/xinetd start   /etc/rc.d/init.d/xinetd stop   /etc/rc.d/init.d/xinetd restart   /etc/rc.d/init.d/xinetd reload   或者   /sbin/service xinetd start   /sbin/service xinetd stop   /sbin/service xinetd restart   /sbin/service xinetd reload      如果你使用的是6.x上的自行编译安装:      你需要自行建立xinetd启动脚本:   touch /var/run/xinetd.pid   touch /var/lock/subsys/xinetd   chmod 755 /etc/rc.d/init.d/xinetd      你可以用下面的命令来控制进程:   /etc/rc.d/init.d/xinetd start   /etc/rc.d/init.d/xinetd stop   /etc/rc.d/init.d/xinetd restart   /etc/rc.d/init.d/xinetd reload      vi /etc/rc.d/init.d/xinetd   ##文件内容如下:   /etc/rc.d/init.d/xinetd文件内容   #!/bin/bash      #      # xinetd This starts and stops xinetd.      #      # chkconfig: 345 56 50      # description: xinetd is a powerful replacement for inetd.   
  # xinetd has access control machanisms, extensive   
  # logging capabilities, the ability to make services   
  # available based on time, and can place   
  # limits on the number of servers that can be started,   
  # among other things.      #      # processname: /usr/sbin/xinetd      # config: /etc/sysconfig/network      # config: /etc/xinetd.conf      # pidfile: /var/run/xinetd.pid      prog="xinetd"      PATH=/sbin:/bin:/usr/bin:/usr/sbin      # Source function library.      . /etc/rc.d/init.d/functions      # Get config.      test -f /etc/sysconfig/network && . /etc/sysconfig/network      # Check that networking is up.      [ ${NETWORKING} = "yes" ] || exit 0      [ -f /usr/sbin/xinetd ] || exit 1      [ -f /etc/xinetd.conf ] || exit 1      RETVAL=0      start(){       echo -n $"Starting $prog: "       # Need to get rid of localization for external services -       # it doesn't make much sense to have i18n on the server side here       LANG=en_US       LC_TIME=en_US       LC_ALL=en_US       LC_MESSAGES=en_US       LC_NUMERIC=en_US       LC_MONETARY=en_US       LC_COLLATE=en_US
  
顶一下
(0)
踩一下
(0)