Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2490560
  • 博文数量: 609
  • 博客积分: 10061
  • 博客等级: 上将
  • 技术积分: 5920
  • 用 户 组: 普通用户
  • 注册时间: 2008-06-25 08:30
文章分类

全部博文(609)

文章存档

2010年(13)

2009年(39)

2008年(558)

我的朋友

分类: LINUX

2008-07-01 10:38:21

认识系统服务 daemons


daemon的种类:  
  stand_alone 它的相关目录以及文件如:/etc/rc.d/init.d/
  super daemon 它的相关目录以及文件如:/etc/rc.d/init.d/xinetd,/etc/xinetd.d/,/etc/xinetd.conf


Daemon 的命名规则:
  这些服务的名称被建立之后,被挂上 Linux 使用时,通常在服务的名称之后会加上一个d。
  例如:例行性命令的建立的 at, 与 cron 这两个服务,通常会被称为 atd 与 crond。


解析 xinetd.conf:
  先看一下预设的 /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
  在上面的预设范例当中,说明的是:『如果没有指定的 services ( defaults ) 那么就用 {} 里面的设定来执行之
  内容格式:
  service
  {
       ...
       ...
  }
  assign_op 主要有三种形式,分别如下:
   = : 表示后面的设定参数就是这样啦!
   += : 表示后面的设定为『在原来的设定里头加入新的参数』
   -+ : 表示后面的设定为『在原来的参数舍弃这里输入的参数!』
 
  attribute     assing_op                 说明
  (功能)        (允许的动作)               (范例)
  一般设定项目:
  disable       yes,no               允许该 server 可以执行或者是不能执行!         
  socket_type   stream,dgram,raw     当联机为 TCP 封包时,则使用 stream 类型
                                     当联机为 UDP 封包时,则使用 dgram  类型
                                     raw 代表 server 需要与 IP 直接对谈!
  protocol      tcp,udp,...          联机的状态使用的是哪一种协议.
  wait          yes,no               Multi-threaded 与 single-threaded 的方式,
                                     一般来说,我们希望大家的要求都可以同时被启用,所以 
                                     wait=no.
  user           UID(root)
  group          GID(root)          
  instances      number,UNLIMITED    这个是『在同一时间之内,同一个服务可以允许的联机数目』
                                     的意思,你可以写入一个『数字』来控制联机数目,也可以
                                     使用 UNLIMITED 来告诉系统『没有上限』.
  nice           -19~19              运行级别。
  server         program             指出这个服务的启动程序.
  server_args    一些参数             该输入的就是你的 server 那里需要输入的一些参数。
  log_on_success PID,HOST,USERID,    在『成功登入』之后,需要记录的项目:PID为纪录该server
                 EXIT,DURAION        启动时候的 process ID ,HOST 为远程主机的 IP、   
                                     USERID 为登入者的账号、EXTI 为离开的时候记录的项目、
                                     DURATION 为该使用者使用此服务多久.
                         
  log_on_failure HOST,USERID,        当登入失败之后被 syslog 登入的项目:HOST为远程主机的
                 ATTEMPT,RECORD      IP,USERID为登入者账号、ATTEMPT为记录登入失败者企图
                                     的意图为何、RECORD为记录远程主机的信息.以及为何本机
                                     server 不能启动的原因,主要有 login, shell, exec,
                                     finger 等指令可以使用在这里.(基本上,可以在
                                     /etc/hosts.allow 或 /etc/hosts.deny 书写内容.)
                
  进阶设定项目:
  env             'name=value'       环境变量设定。
  port            number             这里可以设定不同的服务与对应的 port ,但是请记住你的
                                     port 与服务名称必须与 /etc/services 内记载的相同才
                                     行.
  redirect        IP_Address port    将 client 端对我们 server 的要求,转到另一部主机上
                                     去!
  includedir      directory_path     表示将某个目录底下的所有档案都给他塞进来 xinetd.conf
                                     这个设定里头  
  安全控管项目:                            
  bind            IP_Address         这个是设定『允许使用此一服务的适配卡』的意思.
  interface       IP_Address         跟 bind 相同!
  only_from       0.0.0.0            只有这里面规定的 IP 或者是主机名称可以登入!
                  192.168.1.0/24     如果是 0.0.0.0 表示所有的 PC 皆可登入  
                  host_name
                  domain_name
  no_access       0.0.0.0            跟 only_from 差不多,no_access 表示『不可登入』的
                                     PC .
                  192.168.1.0/24
                  host_name
                  domain_name
  umask           000                可以设定使用者建立目录或者是档案时候的属性.   
                  777
                  022

TCP_Wrappers
  设定档: /etc/hosts.allow ,/etc/hosts.deny 
  作用:主要是用来规范 TCP 封包的规则的
  因此,基本上,如果一个服务是受到 xinetd 或 TCP_Wrappers 的控制时,那么该服务就会受限于 hosts.allow 与 hosts.deny 的管理了!而如果你自己安装的套件当中( 亦即使用 Tarball 安装的方式之套件 ),除非有自行定义支持 TCP_Wrappers 的功能,否则就无法使用这个玩意。
  内容基本的语法是: 
   : :
  那个 service_name 必需跟你的 xinetd 或者是 /etc/rc.d/init.d/* 里面的程序名称要相同。
  可设定为ALL,表示全部。
  例如:
  [root @test root]# vi /etc/hosts.deny
  telnetd:  140.116.44.202 : deny
  telnetd:  140.116.32.0/255.255.255.0 : deny
  /etc/hosts.allow与/etc/hosts.deny两个的关系为:
   1. 当档案 /etc/hosts.allow 存在时,则先以此档案内之设定为准;
   2. 而在 /etc/hosts.allow 没有规定到的事项,将在 /etc/hosts.deny 当中继续设定。
 例如,当当有其它人扫瞄我的 telnet port 时,我就将他的 IP 记住!以做为未来的查询与认证之用!那么你可以将 /etc/hosts.deny 这个档案改成这个样子:
 [root @test root]# vi /etc/hosts.deny
 telnetd: ALL : spawn (echo Security notice from host `/bin/hostname`; \
 echo; /usr/sbin/safe_finger @%h ) | \
 /bin/mail -s "%d-%h security" root & \
 : twist ( /bin/echo -e "\n\nWARNING connection not allowed. Your attempt has been logged. \n\n\n警告您尚未允许登入,您的联机将会被纪录,并且作为以后的参考\n\n ". )
 
 各个服务的简单说明
  服务名称        介绍
  anacron         /etc/anacrontab
  apmd            /etc/sysconfig/apmd,pmd 是 Adventage Power Management daemon 的缩
                  写  
  arpwatch        /etc/sysconfig/arpwatch ,这是用来持续监测网络卡的『 Hardware IP (MAC)
                  与 Software IP (TCP/IP 那个 IP) 』对应的 daemon,还可以提供 e-mail 通
                  知系统管理员.一般的主机不太需要这个 daemon.
  atd             /etc/at.allow, /etc/at.deny
  autofs          /etc/rc.d/init.d/autofs, 这个东西使用在自动挂载一些装置的 daemon, 不需
                  要开启!
  xinet           主要的 port 号是 19 号;主要的功能在于提供类似远程打字.             
     chargen
     chargen-udp       
  crond           /etc/crontab
  xinet           这东西使用 13 port,不用启动
     daytime
     daytime-udp
  xinet           使用 port 7,不用启动
     echo
     echo-udp
  xinet           /etc/xinetd.d/finger, port 79
     finger
  gpm             /etc/sysconfig/mouse, 没有使用 port 号, 在文字模式里面可以使用 mouse
                  来从事『复制、贴上、移动光标』等等的功能,没必要的话,建议是关闭.
  httpd           /etc/httpd/conf/httpd.conf      

###谢谢鸟哥。。    
阅读(688) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~