15认识系统服务 daemons

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

认识系统服务daemons (1)
示什么是daemon 与服务(service) (1)
daemon 的主要分类 (2)
stand_alone: (2)
super daemon: (2)
stand alone : (3)
super daemon : (3)
与服务有关的端口口对应资料:/etc/services (4)
Daemon 的命名规则: (5)
系统的Daemons 放在哪里: (6)
/etc/init.d/* (7)
/etc/xinetd.conf (7)
/etc/xinetd.d/* (7)
daemon 的启动方式:service (7)
解析super daemon 的设定档 (8)
解析xinetd.conf (9)
一个简单的telnet 范例设定 (13)
TCP_Wrappers (16)
系统开启的服务 (19)
观察系统启动的服务: (20)
设定开机后立即启动服务的方法: (21)
chkconfig (22)
ntsysv (24)
各个服务的简单说明 (25)
本章习题练习 (30)
认识系统服务daemons
在Unix-Like 的系统中,常常听到这个字眼:daemons !那么什么是传说中的daemons 呢?这些daemon 放在什么地方?他的功能是什么?该如何启动这些daemons ?又如何有效的将这些daemon 管理妥当!?此外,要如何视察这些daemons 开了多少个ports ?又这些ports 要如何关闭?还有还有,晓得你的系统的这些port 各代表的是什么服务吗?这些都是最基础需要注意的呢!尤其是在架设网站之前,这里个观念就显的更重要了。

示什么是daemon 与服务(service)
如果您常常上网去查看一些数据的话,尤其是关于Unix-Like 的相关操作系统,如FreeBSD, Unix, Linux 等等,应该会常常听到daemons 这个字眼,那么daemon 是什么东西呀!?怎么这么常被见到?呵呵,Daemon 的字面上的意思就是『守护神、恶魔?』还真是有点奇怪呦!^_^""
先来谈一谈daemon 这个玩意儿是个啥咚咚?还记得我们在程序与资源管理一文当中提到过程序的概念,程序有的在bash 当中执行程序而触发的,也有开机的时候,系统自行触发而在背景当中执行的。

当然也有系统管理员在开机完成后,登入系统来触发的等等。

不论怎么说,这个daemon 其实就是一个『在背景当中执行的程序』啦!比较特殊的是,所谓的daemon 通常是负责系统上面的某个服务(service) ,好让系统可以接受来自使用者或者是网络客户(client)的要求,而加以工作。

那么什么又是服务(service)?所谓的服务很简单啦,意思是说,主机提供的功能。

这些功能主要分为系统上面的,以及针对网络的服务。

针对系统上面的服务,例如我们第四篇提到的crond 与atd 等等,他主要负责Linux 主机上面的工作排程;至于网络服务呢?包括远程联机SSH 服务器,或者是全球信息网WWW 服务器等等,这些让客户端连接上来取得数据的服务,就是网络服务啦!
那您了解了,之所以要有主机服务器就是希望他可以提供我们一些网络服务,或者是主机端自己的服务,好让我们使用者或者是一般用户可以工作的更愉快!而主机要提供这些服务,必须要有相对应的daemon 来进行服务需求的监听,例如要提供工作排程的服务,就得要有atd 或者是crond 这两个daemon 才行;而daemon 的启动,其实就是某个程序(program) 的执行,配合这个程序的设定文件,就能够有效的启动该程序,加载常驻到内存当中成为daemon ,并提供相对的服务啰!
1
一般来说,当我们以run level 3 或者是run level 5 完整开机进入Linux 主机后,系统已经提供我们很多的服务了!包括打印服务、工作排程服务、邮件管理服务等等;那么这些服务是如何被启动的?他们的工作型态如何?底下我们就来谈一谈啰!
Tips:
很多时候,我们不会很细的去切分什么是daemon 而什么是service,简单的来说,你可以将service 与daemon 视作相同的东西!反正就是某个在背景当中执行的程序,他可以提供某些功能就是了!^_^
daemon 的主要分类
如果依据daemon 的启动与管理方式,基本上,可以将daemon 分为可独立启动的stand alone ,与透过统一安全机制管理的Super daemon 两大类,这两类daemon 的说明是这样的:
stand_alone:
就字面上的意思来说,stand alone 就是『独立的启动』的意思,也就是说,该daemon 启动之后,就直接常驻在内存当中啰!他虽然会一直的占用系统的资源,但最大的优点就是,他会一直启动的啦!所以当有要求来的时候,他就会很快速的响应啰!常常用在这一种daemon 的网络服务如常见的全球信息网WWW 的daemon (httpd) 这一个即是一例!因为他需要比较快的响应速度啊!
super daemon:
相对于stand alone 的执行方式,这一种服务的启动方式则是藉由统一的一个daemon 来负责唤起该服务!这一个统一负责的daemon 就是inet 这支服务啦!不过,在后来的Linux 发展套件中,则是使用xinet 这个设定啰!我们这里以FC4 的xinet 来做说明。

当有网络的服务要求来的时候,该要求会先送给xinet 这个服务,然后xinet 根据该网络要求送来的数据封包的内容( 该内容会记录IP 与port ) 来将数据封包送给实际运作的服务!而该服务这个时候才会启动的!最常见到的就是ftp 这支网络服务啦!
这种daemon 最大的优点就是当没有数据封包来的时候,该服务不会一直占据系统资源( 该服务会在sleeping 的状态吧!) ,但是相对的,他的反应时间也会比较慢,因为还要花费一段时间去『唤醒』该服务呀!
那么这两种启动的方式哪一个比较好呢?见仁见智啦!而且还要看该主机的工作负荷与2
实际的用途说!例如当你的主机是用来作为WWW 服务器的,那么httpd 自然就以stand alone 的启动方式较佳!事实上,我们常常开玩笑的说明stand alone 与super daemon 的情况,可以银行的窗口来作为说明的范例!
stand alone :
在银行里面,假设有一种单一服务的窗口,例如存钱窗口,所以,当你需要存钱的时候,直接前往该窗口,就有『专人』为您服务啦!
super daemon :
在银行里面假设还有另外一种复合型态的窗口,同时提供转帐、资金调度、提款等等的业务,那当你需要其中一项业务的时候,就需要前往该窗口,但是坐在窗口的这个营业员,拿到你的需求单之后,往后面一丢『喂!那个转帐的仁兄!该你的工作了』那么那个仁兄就开始工作去!然而里头还有资金调度与提款等负责业务的仁兄呢?他们在干嘛?嘿嘿!看看报、喝喝茶啰!
那么这里就会引出另外一个问题啦!假设银行今天的人潮特别的汹涌,所以这个窗口后面除了你之外还有很多的人!那么想一想,这个窗口是要『一个完成再来下一个』还是『全部都把你们的单据拿来,我全部处理掉』呢?呵呵!是不是不太一样?基本上,针对这种super daemon 的处理模式有两种,分别是这样:
* multi-threaded:
就是我们提到的,全部的客户之要求都给他拿来,一次给他交办下去,所以一个服务同时会负责好几个程序。

* single-threaded:
这个就是目前我们『人类的银行』最常见的方式啦,不论如何,反正一个一个来,第一个没有处理完之前,后面的请排队!嘿嘿!所以如果client 的要求突然大增的话,那么这些晚到的client 可得等上一等!
另外,需要注意的是,既然银行里头有这两种窗口同时存在,所以啰,在Linux 系统里面,这两种daemon 是可以同时存在的啦!也就是说,某些服务可以使用stand alone 来启动,而有其它的服务则可以使用xinet ( 或者是inet ) 大致的情况就是这样啦!瞭乎!?
不过,如果以daemon 的工作状态来区分,则主要分为两类:
3
* signal-control
这种daemon 是透过讯号来管理的,只要有任何需求进来,他就会立即启动去处理!例如打印机的服务(cupsd)
* interval-control
这种daemon 则主要是『每隔一段时间就主动的去执行某项工作』,所以,即使你设定好设定档之后,他也不会立刻执行,而是某个时间点才会去工作。

举例来说,atd 与crond 就是这种(每分钟执行一次!)
另外,如果您对于开发程序很有兴趣的话,那么可以自行查阅一下『man 3 daemon 』看看系统对于daemon 的详细说明吧!^_^。

与服务有关的端口口对应资料:/etc/services
现在我们知道系统所提供的服务是执行某个program ,由该程序的功能所提供的。

也知道一部主机上面可能会同时拥有多个服务,当然,可能会有多个网络服务同时存在。

此时你会不会觉得很奇怪啊?我一部主机同时开启WWW 与FTP 时,客户端跟我要数据,那么主机会响应什么数据给客户端啊?奇不奇怪呢?
其实,就如同上面提到的人类的银行一样,不同的服务有不同的窗口号码,同样的,在Linux 系统上面,不同的网络服务,确实有不一样的监听埠口(listen port)。

我们可以透过指定指向主机的某个端口口(port) 来连上我们想要的服务呢!举例来说,我们可以在浏览器上面输入这样的网址:
* .tw/
* ftp://.tw/
有没有发现,两个网址都是指向.tw 这个义守大学的FTP 网站,但是浏览器上面显示的结果却是不一样的?是啊!这是因为我们指向不同的服务嘛!一个是http 这个WWW 的服务,一个则是ftp 这个服务,当然显示的结果就不同了。

那我们怎么知道那个port 是由那个服务所启动的呢?因为目前已经有很多既定的网络通讯协议,这些通讯协议使用的port 是固定的,也是公认的标准的port number ,我们可以称为well known 的信息。

那么我们Linux 主机有没有相关的信息呢?当然有啊!那就是/etc/services 这个档案啊!我们取FC4 的这个档案一部份来说明:
4
像上面说的是,第一栏为daemon 的名称、第二栏为该daemon 所使用的port 号码与其网络数据封包传送时候的类型,主要为确定联机后才进行数据传输的可靠的TCP 封包,以及较快速但不确定性较高的UDP 封包等。

举个例子说,那个e-mail 的发信协议为smtp 这个服务,而这个服务的使用之port 即为25 啦!就这样!
Tips:
请特别注意!虽然有的时候您可以藉由修改/etc/services 来更改一个服务的port 号,不过并不建议如此做,因为很有可能会造成一些协议的错误情况!这里特此说明一番呦!(除非您要架设一个地下网站,否则的话,使用/etc/services 原先的设定就好啦!)
Daemon 的命名规则:
每一个服务的开发者,当初在开发他们的服务时,都有特别的故事啦!不过,无论如何,这些服务的名称被建立之后,被挂上Linux 使用时,通常在服务的名称之后会加上一个d ,例如例行性命令的建立的at, 与cron 这两个服务,通常会被称为atd 与crond,这
5
个 d 代表的就是daemon 的意思。

所以,在资源管理那一章中,我们使用了ps 与top 来观察程序时,都会发现到很多的xxxd 的程序,呵呵!通常那就是一些daemon 的程序啰!
系统的Daemons 放在哪里:
我们说过,daemon 其实是一支可以在背景执行的程序,这个程序可以负责系统的某个服务。

而既然要负责某个服务,当然啰,就需要有所谓的设定档啰~而为了让使用者可以很轻易的启动该服务,因此各主要的Linux distributions 都会替他们的系统进行较有亲和力的启动daemon 的方式,那就是利用shell script 啦!这也是为何我们会在第三篇的时候建议您务必要学习shell script 的原因啊!^_^
举个例子来说,在FC4 上面管理系统登录文件的服务为syslogd 这个daemon,那么你如何启动这个daemon 呢?可以查询一下man 8 syslogd 来看看到底他需要如何被启动。

想必看的结果是『很烦ㄟ!』干嘛要这样启动啊!真是麻烦~此时,启动syslogd 这个daemon 的shell script (/etc/init.d/syslog) 就帮上忙了!你只要『/etc/init.d/syslog restart 』就能够重新启动syslogd 呢!真是很方便啊!而该shell script 就会主动的去读取相关的设定档,好让我们的设定生效啊!^_^
OK!那么这些daemons 的shell scripts 放在哪里啊?他们放置的地方依据stand alone 与super daemon 的差异而有所不同,基本上,是放在这些地方:
* stand alone:
这个放置在/etc/init.d/ 这个目录里面,几乎所有的RPM 安装的套件之启动scripts 都在这里啦!不过,实际上,我们的FC4 是放置到/etc/rc.d/init.d/* ,但你依旧可以记忆成/etc/init.d ,因为所有的unix like 机器都有这个目录!
* super daemon:
这个工作的那一支服务其实就是xinet 或者是inet 啦!请注意,xinet 也是一个daemon 呢!他是stand alone 启动的,也就是他会一直在监听大家的需求,所以xinet 的启动scripts 写在/etc/init.d/xinetd 这个scripts 里面啰!但是挂在这个daemon 里头的服务之设定项目呢?嗯!就是写在/etc/xinetd.conf 与/etc/xinetd.d/* 这个目录里面的任何档案!
更详细的来说明每个目录底下的设定的话,总的来说,是这样的:
6
/etc/init.d/*
OK!先来了解一下stand alone 的daemon 是怎么启动的呢?!很简单,假如我们要启动syslog 这支记录登录文件的服务,那么要启动他的话,就直接下达:
那个service 是一支程序,基本上,也只是用来启动/etc/init.d/ 底下的shell script 而已~至于指令或者是档案后面接的参数,亦即是档名之后加上start 即可,或者是使用Red Hat 系统有的这个service script 来进行启动的功能!如果你还记得我们前几节提到过的shell scripts 的话,那么或许还记得case ..... esac 这个有选择性的项目的语法吧!?没错!这几支服务就是以bash scripts 里头的case 语法写成的!因此,只要加上后面的参数,如此一来,scripts 就会自动的去找寻执行档来执行啰!如果有兴趣的话,可以在你的系统里面的该目录下开一个档案来观看一下,就知道如何写啰!
/etc/xinetd.conf
这个档案就是设定xinet 服务的参数档案啦!
/etc/xinetd.d/*
这个目录里面的所有档案就是个别挂上xinet 的所有服务啦!例如赫赫有名的wu-ftpd 及telnet 与pop3 等等!
daemon 的启动方式:service
知道了一些有关daemon 的相关知识后,再来,那么我们如何启动一个daemon 呢?其实,我们知道所谓的daemon 就是一支可以在系统背景下面运作的程序(program) 啊,所以,要启动该daemon ,就是找到他的执行档,执行他就是了。

不过,因为该daemon 的执行档所需要加的参数太多了!举例来说,你可以使用『man syslogd』及『man sshd』来查阅一下该daemon 要启动时的设定参数!
为了克服这样的困扰,所以各主要Linux distributions 都会针对该服务设计一个比较亲和的shell script 来进行启动的程序啊!那就是/etc/init.d/ 底下的档案,以及/etc/xinetd.d/ 底下的设定数据。

因此,启动服务的方法就变得很简单了。

只要设定好该服务的设定档,
7
然后下达:
service 这个程序来进行daemon 的启动喔!其实service 仅是一支script 啦,他可以解析后面带有的参数,然后去到/etc/init.d/ 去启动相对应的服务名称的script 而已!有兴趣的话,可以自行去解析/sbin/service 这支shell script 啊!底下我们大略说明一下
在上面的范例当中,其实启动方式以service 这个程序,或者直接去到/etc/init.d/ 底下启动,都一样啦!自行去解析/sbin/service 就知道为啥了!^_^
Tips:
事实上,在Linux 系统中,要『开或关某个port 』,就是需要『启动或关闭某个服务』啦!因此,你可以找出某个port 对应的服务,程序对应的服务,进而启动或关闭他,那么那个经由该服务而启动的port ,自然就会关掉了!
解析super daemon 的设定档
前面提到,Super daemon 就是一支总管许多服务的daemon ,这支daemon 在FC4 上面即是xinet 啰~通常我们也称呼为xinetd 啦~这支daemon 来管理许多的服务是有好处的,最大的优势就是『安全性较高!』。

怎么说呢?因为super daemon 可以透过额外的资料分析,来管理谁可以、谁不能使用某个服务,因此,多了一道类似防火墙的手续,自然就能够比较安全一些啦。

而且他还可以记录该服务的使用状态,也可以记录错误登入的信息,用在管理一些比较危险的服务上面,确实有他的必要性啦!
8
底下我们就来谈一谈,这个super daemon 到底是如何分析的,当然,就得要先谈一谈,这个xinetd 的主要预设参数档:/etc/xinetd.conf 啰~
解析xinetd.conf
基本上,这个预设参数档的意义是:『当某个使用super daemon 管理的服务启动时,除非该服务已经设定好管理的项目,否则将以上述xinetd.conf 内的预设参数带入。

』的意思,也就是说,这仅是默认值,但我们可以自行指定新的设定值来取代xinetd.conf 内的默认值啦!也就是说,这个档案设定成,在预设的状态下『:一个服务最多可达60 个联机,且同一秒内连接上的联机不可超过25 个。

而若登入的成功与否时,会分别记录不同的信息到登录文件当中。

』这样说,可以比较清楚了吧?^_^ 至于更多的参数说明,我们会在底下再强调的!
既然这只是个预设参数档,那么自然有更多的服务参数档案啰~没错~而所有的服务参数档都在/etc/xinetd.d 里面,这是因为上表当中的最后一行啊!这样瞭了吧!^_^。


有关,因为他可以对照着/etc/services 内的名称与port number 来决定所要启用的port 是那个啊!然后相关的参数就在两个大刮号中间。

attribute 是一些xinetd 的管理参数,assign_op 则是参数的设定方法。

assign_op 的主要设定形式为:
= :表示后面的设定参数就是这样啦!
+= :表示后面的设定为『在原来的设定里头加入新的参数』
-= :表示后面的设定为『在原来的参数舍弃这里输入的参数!』
用途不太相同,敬请留意呦!好了!底下再来说一说那些attribute 与value !
OK!我们就利用上面这些参数来架构出我们所需要的一些服务的设定吧!参考看看底下的设定方法啰!^_^
一个简单的telnet 范例设定
我们说过,使用super daemon 来管理主机,最大的优点就是多了一道管理的手续,所以,可以进行比较多的监控动作,像上一个小节我们提到的相关参数当中,就能够发现到一些端倪了。

在这里,我们举个简单的例子来说明一下整个super daemon 的管理吧!但是要设定telnet 的话,就得要安装telnet 才行。

在FC4 的版本上,我们安装的是telnet-server-0.17-35 这个套件数据,请您先以rpm 的方式来安装喔!^_^
其实,主要的参数可以参考上一小节的表格,也可以直接利用『man xinetd.conf 』来查阅!不过,如果你对于这样的设定并不满意的话,其实还可以手动来修改呢!因为我们知道,telnet 并不是个十分安全的服务,详细机制可以参考服务器篇的远程联机服务器来查阅,所以,如果你想要更多的安全机制,举例来说,你想要让telnet 在局域网络内与Internet 上面的联机机制有差异时,例如这样:
* 对内部网域开放较多权限的部分:
假设Linux 主机有两张网络卡,对内的这一张IP 为192.168.1.100 ,且仅针对192.168.1.0/24 这个网段提供登入。

然后开放所有与telnet 有关的权限,包含总联机数量与联机时间等。

但是,192.168.1.120 及192.168.1.130 两个IP 不允许登入;
* 对外部网域较多限制的设定:
对外的IP 假设为140.116.44.125 ,且仅允许台南的校园网络(140.116.0.0/16),以及教育界的主机名称(.edu.tw),另外,仅开放早上1~9 点及20~24 两个时段登入而已。

此外,最多容许十个联机进入。

在这样的规划情况下,我可以将刚刚上头的/etc/xinetd.d/telnet 这个档案修改成为:
在上面这个范例当中,我们用了很多的网络IP 显示方式,包括192.168.1.0/24 ,以及140.116.0.0/16 ,这代表『192.168.1.0~192.168.1.255 的所有IP 』以及『140.116.0.0 ~140.116.255.255 所有的IP 』更详细的说明,我们会在服务器篇内详谈的。

用了这个设定值之后,你会发现你的telnet 针对两个网段来设计了!设计完成之后,由于这是
呵呵!如上面的设定,我们可以将telnet 的启动项目进行更多的限制!如此一来,将有助于我们的安全防护呢!尤其如果可以针对不同的接口来设定,嘿嘿!就更加的棒啰!不过,请注意喔!如果照上面的设定,那么您的主机上面将会开了两个23 port 的接口,分别是给两个接口来使用的呢!嗯!真好玩?同样的,你也可以针对自己的喜好来设定你的其它daemon 使他挂在xinetd 底下呢!
TCP_Wrappers
事实上,除了使用xinetd 的设定档来设定安全机制之外,我们还可以利用额外的机制来抵挡某些不受欢迎的资料来源喔!那就是/etc/hosts.allow 以及/etc/hosts.deny 这两个档案的功能啦!这两个档案可以藉由分析:
* 启动的服务名称(daemon 执行档档名);
* 客户端的IP 来源或网段来源。

来进行客户端使用者是否能够登入的判断呢!不过,虽然这两个档案已经被整合到xinetd 里面去了,不过,要获得更多的功能,还是得要安装tcp_wrappers 这个套件才行!因为,这两个档案本身就是tcp_wrappers ( 其实是/usr/sbin/tcpd 那个档案而已啦!) 的设定档啊!而他也可以整合到整个系统的服务里头去,可以算是最最基础的一个防火墙架构啦!^_^
其实,/etc/hosts.allow 与/etc/hosts.deny 是/usr/sbin/tcpd 的设定档,而这个/usr/bin/tcpd 则是用来分析进入系统的TCP 封包的一个软件,他是由TCP Wrappers 所提供的。

那为什么叫做TCP_Wrappers 呢?那么wrappers 有包裹的意思,所以说,这个套件本身的功能就是在分析TCP 网络数据封包啦!那么刚刚我们稍微提到我们网络的封包数据主要是以TCP 封包为主,这个TCP 封包的文件头至少记录了来源与目主机的IP 与port ,因此,若藉由分析TCP 封包,就可以比对看我要不要让这个数据进入到主机里面来啰!所以啦,我们要使用TCP_Wrappers 来控管的,就是:
1. 来源IP
2. port (就是服务啦)
TCP_Wrappers 设定TCP 封包是否可以进入的设定档在/etc/hosts.allow 与/etc/hosts.deny 当中。

因此,基本上,如果一个服务是受到xinetd 或TCP_Wrappers 的控制时,那么该服务就会受限于hosts.allow 与hosts.deny 的管理了!而如果你自己安装的套件当中( 亦即使用Tarball 安装的方式之套件),除非有自行定义支持TCP_Wrappers 的功能,否则就无法使用这个玩意啰!嘿嘿!
那么这两个档案是干嘛用的?刚刚不是提过哪!他主要是用来规范TCP 封包的规则的,所以呢,里面记录的当然就是:『某些IP 在特定服务中是否能够进入主机』!那么要怎
所以我们要先找出来那个service_name 才行,例如以我们刚刚的telnet 为例,那个service_name 是什么呢?其实指的就是在xinetd.conf 设定档中的server 这个设定后面接的程序名称啦!所以,telnet 在FC4 底下的名称为in.telnetd 因此,如果你不想让140.116.44.202 这个地址及140.116.32.0/255.255.255.0 这个C class 的网域进入你的主机的话,那么可以这样在/etc/hosts.deny 里面设定:( 关于IP, 网域, 网段, 还有相关的网络知识,在这个基础篇当中我们不会谈到,详细的数据请先自行参考服务器架设篇的内容!)
这样一来,对方就无法以telnet 进入你的主机啦!方便吧!不过,既然如此,为什么要设定成/etc/hosts.allow 及/etc/hosts.deny 两个档案呢?其实只要有一个档案存在就够了,不过,为了设定方便起见,我们存在两个档案,其中需要注意的是:
* 写在hosts.allow 当中的IP 与网段,为预设『可通行』的意思,亦即最后一个字段allow 可以不用写;
* 而写在hosts.deny 当中的IP 与网段则预设为deny ,第三栏的deny 亦可省略;
* 这两个档案的判断依据是:(1) 以/etc/hosts.allow 为优先,而(2) 若分析到的IP 或网段并没有纪录在/etc/hosts.allow ,则以/etc/hosts.deny 来判断。

也就是说,/etc/hosts.allow 的设定优先于/etc/hosts.deny 啰!了解了吗?基本上,只要hosts.allow 也就够了,因为我们可以将allow 与deny 都写在同一个档案内,只是这样一来似乎显得有点杂乱无章,因此,通常我们都是:
1. 允许进入的写在/etc/hosts.allow 当中;
2. 不许进入的则写在/etc/hosts.deny 当中。

此外,我们还可以使用一些特殊参数在第一及第二个字段喔!内容有:
* ALL:代表全部的program_name 或者是IP 都接受的意思,例如ALL: ALL: deny * LOCAL:代表来自本机的意思,例如:ALL: LOCAL: allow
* UNKNOWN:代表不知道的IP 或者是domain 或者是服务时;
* KNOWN:代表为可解析的IP, domain 等等信息时;
再强调一次,那个service_name 其实是启动该服务的程序,举例来说,/etc/init.d/ssh 这个script 里面,实际上启动ssh 服务的是sshd 这个程序,所以,你的service_name 自然就是sshd 啰!而/etc/xinetd.d/telnet 内有个server 的设定项目,那个项目指到in.telnetd 这个程序来启动的喔!要注意的很!(请分别使用vi 进这两支scripts 查阅) 好了,我们还是以telnet 为例子来说明好了,现在假设一个比较安全的流程来设定,就是:
1. 只允许140.116.44.0/255.255.255.0 与140.116.79.0/255.255.255.0 这两个网域,及140.116.141.99 这个主机可以进入我们的telnet 服务器;
2. 此外,其它的IP 全部都挡掉!
这样的话,我可以这样设定:
记住!以做为未来的查询与认证之用!是有的!只是,那就得要有额外的动作参数加在第三栏了。

主要的动作有:。

相关文档
最新文档