分类: LINUX
2007-11-22 15:08:07
系统服务
l
《鸟哥的 Linux 私房菜》之 “”
Daemon 其实就是一种后台进程,一般负责系统上面的某个服务 (service)。服务包含系统上面的,以及针对网络的服务。Daemon一般常驻内存。
daemon
分为可独立启动的 stand alone , 与透过统一安全机制管理的 Super daemon 两大类。
stand
alone 常驻内存,响应快。比如httpd
super
daemon靠xinet服务来传递,需要的时候才启动。比如ftp,telnet。它有multi-threaded和single-threaded两种。控制方式有signal-control,interval-control(轮询)。详细资料请参考man 3 daemon。
服务有关的端口口对应资料: /etc/services,Daemon命令:通常在服务的名称之后会加上一个 d。
系统Daemons 的位置:
比如syslogd,查看它的启动方式:man 8 syslogd。其实有启动文件,放在/etc/init.d/syslog restart。
stand alone的存放在/etc/init.d/
super daemon的启动脚本在/etc/init.d/xinetd,就是写在 /etc/xinetd.conf 与 /etc/xinetd.d/* 这个目录里面的任何档案!
1. 启动 stand alone 服务的方式:以 syslog 为例:
[root@linux ~]# /etc/init.d/syslog start
2. 启动 super daemon 服务的方式:以 telnet 为例:
[root@linux ~]# vi /etc/xinetd.d/telnet (设定方式参考下节)
[root@linux ~]# /etc/init.d/xinetd restart
Redhat中可以使用service的方式,其实是个shell脚本:/sbin/service
Super daemon安全性较高,可以透过额外的资料分析,
来管理谁可以、谁不能使用某个服务,因此,多了一道类似防火墙的手续。
解析 xinetd.conf
[root@linux ~]# vi /etc/xinetd.conf # # Simple configuration file for xinetd # # Some defaults, and include /etc/xinetd.d/ defaults { instances = 60 <==同一服务的同时联机数最多可达 60 个 log_type = SYSLOG authpriv <==登录后,会被纪录到登录文件的信息 log_on_success = HOST PID <==若成功的登入时,记录的信息有哪些?
log_on_failure = HOST <==若登入失败,则记录的信息又是如何? cps = 25 30 <==同一秒钟内最大联机数量为 25 个,若超过 25 个, 则该服务会暂时停止 30 秒! } includedir /etc/xinetd.d <==更多的设定值在 /etc/xinetd.d 那个目录内 |
比如:
# vi krb5-telnet
# default: off
# description: The kerberized telnet server accepts
normal telnet sessions, \
# but
can also use Kerberos 5 authentication.
service telnet
{
disable = yes
flags = REUSE
socket_type =
stream
wait = no
user = root
server = /usr/kerberos/sbin/telnetd
log_on_failure += USERID
}
= : 表示后面的设定参数就是这样啦!
+= : 表示后面的设定为『在原来的设定里头加入新的参数』
-= : 表示后面的设定为『在原来的参数舍弃这里输入的参数!』
用途不太相同,敬请留意呦!好了!底下再来说一说那些 attribute 与 value !
attribute |
assing_op |
说明与范例 |
一般设定项目: |
||
socket_type |
stream |
stream 为联机机制较为可靠的
TCP 封包,若为 UDP 封包则使用 dgram 机制。 raw 代表 server 需要与
IP 直接对谈!例如 telnet 使用 TCP ,所以: socket_type = stream |
protocol |
tcp |
这个东西说的是,联机的状态使用的是哪一种协议!?各个协议的代号可以参考 /etc/protocols 内容!此外,除非是你自己设定的服务,否则这个可以不用设定啦! |
wait |
yes |
这就是我们刚刚提到的 Multi-threaded 与 single-threaded 的方式啦!一般来说,我们希望大家的要求都可以同时被启用,所以可以设定 wait = no |
user |
UID |
还记得我们在 那一篇提到的 UID 概念吗?对啦!这个 UID 就是那个 UID 啦!要注意的是,假如你的服务启动者不要以 root 为主的话,那么这个地方就可以改变其它的使用者,例如 nobody !这个咚咚也会有安全防护的机制存在!此外,需要注意这个 UID 必须存在于 /etc/passwd 。 |
group |
GID |
跟 user 的意思相同!只是这个 GID 的使用者也必须存在于 /etc/group 当中! |
instances |
number |
这个是『在同一时间之内,同一个服务可以允许的联机数目』的意思, 你可以写入一个『数字』来控制联机数目,也可以使用 UNLIMITED 来告诉系统『没有上限』啰!例如你在同时段之内仅允许 ftp 联机有 30 个,那么这里就可以输入 30 啦! |
nice |
-20 ~ 19 |
还记得我们在 里面谈到的那个 nice 指令吗?!对啦!这里就是这个东西啰!数字越小( 负值 )代表该程序越优先被执行! |
server |
program |
这个就是指出这个服务的启动程序!例如要启动 telnet 的话,其实就是 in.telnetd 这支程序啦!所以这个时候在这里输入 server = /usr/sbin/in.telnetd |
server_args |
program |
这里应该输入的就是你的 server 那里需要输入的一些参数啦!例如 in.telnetd 当中,我们还可以加入某些参数! |
log_on_success |
PID |
在『成功登入』之后,需要记录的项目:PID 为纪录该
server 启动时候的 process ID ,
HOST 为远程主机的 IP、USERID 为登入者的账号、EXIT 为离开的时候记录的项目、 DURATION 为该使用者使用此服务多久? |
log_on_failure |
HOST |
当登入失败之后被 syslog 登入的项目:HOST为远程主机的 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 的要求,转到另一部主机上去!呵呵!这个好玩呦!
例如当有人要使用你的 ftp 时,你可以将他转到另一部机器上面去!那个
IP_Address 就代表另一部远程主机的 IP 啰! |
includedir |
directory |
表示将某个目录底下的所有档案都给他塞进来 xinetd.conf 这个设定里头!这东西有用多了,
如此一来我们可以一个一个设定不同的项目!而不需要将所有的服务都写在 xinetd.conf 当中!你可以在 /etc/xinetd.conf 发现这个设定呦! |
安全控管项目: |
||
bind |
IP_Address |
这个是设定『允许使用此一服务的适配卡』的意思!举个例子来说,你的 Linux 主机上面有两个 IP ,而你只想要让 IP1 可以使用此一服务,但 IP2 不能使用此服务,这里就可以将 IP1 写入即可!那么 IP2 就不可以使用此一 server 啰 |
interface |
IP_Address |
与 bind 相同 |
only_from |
|
这东西用在安全机制上面,也就是管制『只有这里面规定的 IP 或者是主机名称可以登入!』如果是 |
no_access |
|
跟 only_from 差不多啦!就是用来管理可否进入你的
Linux 主机启用你的 server 服务的管理项目!
no_access 表示『不可登入』的 PC 啰! |
access_times |
00:00-12:00 |
这个项目在设定『该服务 server 启动的时间』,使用的是
24 小时的设定!例如你的 ftp 要在 8 点到 16 点开放的话,就是: 08:00-16:00。 |
umask |
000 |
还记得在 里面约略提过的 umask 这个东西吗?呵呵!没错!就是那个鬼玩意儿啰! 可以设定使用者建立目录或者是档案时候的属性!系统建议值是 022 。 |
这些设定可以通过man xinetd.conf查询。
一个简单的 telnet 范例设定
在 FC4 的版本上,我们安装的是
telnet-server-0.17-35 这个套件资料, 请您先以 来安装喔!
^_^
[root@linux ~]# vi /etc/xinetd.d/telnet # 先针对对内的较为松散的限制来设定: service telnet { disable = no <==预设就是启动 telnet 服务 bind = 192.168.1.100 <==只允许经由这个适配卡的封包进来
only_from =
192.168.1.0/24 <==只允许 192.168.0.0/24 这个网段 的主机联机进来使用 telnet 的服务 no_access = 192.168.1.{120,130} <==不许这些 PC 登入
instances = UNLIMITED <==同时允许联机不限制! nice = 0 <==使用的优先级较高 flags = REUSE <==额外使用的参数
socket_type = stream <==使用 tcp 封包常用的联机型态 wait = no <==不需等待,可以同时允许多个联机 user = root <==启动程序的使用者身份 server = /usr/sbin/in.telnetd<==服务启动的程序
server_args = -a none <==上面那个程序的参数 log_on_failure += USERID <==错误登入时,要记录下来的内容 } # 再针对外部的联机来进行限制呢! service telnet { disable = no <==预设就是启动 telnet 服务 bind = 140.116.44.125 <==只允许经由这个适配卡的封包进来
only_from =
140.116.0.0/16 <==只允许 140.116.0.0 ~ 140.116.255.255 这个网段联机进来使用 telnet 的服务
only_from += .edu.tw <==累加设定,只有教务界才能联机!
access_times = 1:00-9:00
20:00-23:59
<==每天只有这两个时段开放服务 umask = 022 <==建立档案时的预设属性设定
instances = 10 <==同时只允许 10 个联机 nice = 10 <==使用的优先级较低 flags = REUSE <==额外使用的参数
socket_type = stream <==使用 tcp 封包常用的联机型态 wait = no <==不需等待,可以同时允许多个联机 user = root <==启动程序的使用者身份 server = /usr/sbin/in.telnetd<==服务启动的程序
server_args = -a none <==上面那个程序的参数
log_on_failure += USERID <==错误登入时,要记录下来的内容 } |
启动的方式与观察的方式为:
[root@linux ~]#
netstat -tulnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State
PID/Program name tcp 0 0
140.116.44.125:23 tcp 0 0 192.168.1.100:23 # 有没有看到两个接口啊~而且, PID 会是同一个呢! |
呵呵!如上面的设定,我们可以将
telnet 的启动项目进行更多的限制! 如此一来,将有助于我们的安全防护呢!尤其如果可以针对不同的接口来设定,嘿嘿! 就更加的棒啰!不过,请注意喔!如果照上面的设定,那么您的主机上面将会开了两个 23 port 的接口,分别是给两个接口来使用的呢!嗯!真好玩?同样的,
你也可以针对自己的喜好来设定你的其它 daemon 使他挂在 xinetd 底下呢!
TCP_Wrappers
事实上,除了使用 xinetd 的设定档来设定安全机制之外, 我们还可以利用额外的机制来抵挡某些不受欢迎的资料来源喔!
那就是 /etc/hosts.allow 以及
/etc/hosts.deny 这两个档案的功能啦! 这两个档案可以藉由分析:
不过,虽然这两个档案已经被整合到
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 来控管的,就是:
TCP_Wrappers 设定 TCP 封包是否可以进入的设定档在
/etc/hosts.allow 与 /etc/hosts.deny 当中。因此,基本上,如果一个服务是受到 xinetd 或 TCP_Wrappers 的控制时,那么该服务就会受限于 hosts.allow 与 hosts.deny 的管理了!而如果你自己安装的套件当中( 亦即使用 Tarball 安装的方式之套件 ),除非有自行定义支持 TCP_Wrappers 的功能 ,否则就无法使用这个玩意。
语法是:
|
比如:# vi
/etc/hosts.deny
telnetd : 140.116.44.202
通常我们都是:
此外,我们还可以使用一些特殊参数在第一及第二个字段喔!内容有:
又比如:
[root@linux ~]# vi /etc/hosts.allow
in.telnetd:
140.116.44.0/255.255.255.0
in.telnetd:
140.116.79.0/255.255.255.0
in.telnetd:
140.116.141.99
in.telnetd: LOCAL
[root@linux ~]# vi /etc/hosts.deny
in.telnetd: ALL
我们知道 finger 可以反向追踪网络封包的来源,所以,我希望这样:
此时可以利用 spwan (action1) | (action2) : twist (action3) 来进行,
也就是说,其实在 /etc/hosts.deny 的第三个字段可以继续延伸下去的!整个信息有如这样:
[root@linux ~]# vi /etc/hosts.deny in.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.\n\n" ) |
在上面的例子中,第三行的
root 那个账号,可以写成你的个人账号或者其它 e-mail ,以免很少以 root 身份登入 Linux 主机时,容易造成不知道的情况,另外,最后几行,亦即 :twist 之后的那几行为同一行。如此一来,当未经允许的计算机尝试登入你的主机时, 对方的屏幕上就会显示上面的最后一行,并且将他的 IP 寄到 root ( 或者是你自己的信箱 )那里去! 另外请注意,那个 /usr/sbin/safe_finger 是由 tcp_wrappers 套件所提供的, 所以您必须要安装该套件才行喔! ^_^
―――――阻挡是成功了,但是提示信息没有试验成功,留待以后研究。
查看系统启动的服务可以使用netstat, 详情请参考netstat命令手册
系统自动启动的服务
大致的情况是这样,看到啰~整个服务可以被开机就启动的地方有两个, 一个是在 daemon start (/etc/rc.d/rc[0-6].d/*) 那个目录下,该目录下的档案主要以 S 及 K 开头,分别代表开机时启动与关机时关闭的意思,更多信息可以参考
那个章节~ 也就是说,如果我可以将要启动的服务写入 /etc/rc.d/rc[0-6].d 目录内, 那么该服务就可以在开机的时候自动的被启动了!就是这样简单~
至于另一个也可以在开机时启动的档案,那就是 /etc/rc.d/rc.local 这个档案喔! 你可以将任何想要在开机时启动的程序写入到这个档案当中,这个档案是以 shell script 的语法写成的,所以你可以轻易的就设定好你想要启动的数据了!
^_^
好了,既然如此的话,那么我是否要使用 ln 去到
/etc/rc.d/rc[0-6].d 当中设定相关的服务呢? 不需要的,因为我们 Fedora 有提供两个好用的指令来达成这个功能啊!那就是 chkconfig 与
ntsysv 喔!
chkconfig
[root@linux ~]# chkconfig --list [root@linux ~]# chkconfig [--add|-- [root@linux ~]# chkconfig --level [0123456]
[service_name] [on|off] 参数: --list :仅将目前的各项服务状态列出来 --add :增加一个服务名称给 chkconfig 来管理,该
service_name 必须在
/etc/init.d/ 内! --del :删除一个给 chkconfig 管理的服务 --level:设定某个服务在该
level 下启动 (on) 或关闭 (off) 范例: 范例一:列出目前系统上面所有被 chkconfig 管理的服务 [root@linux ~]# chkconfig --list |more NetworkManager
0:off 1:off 2:off
3:off 4:off 5:off
6:off .....中间省略..... snmpd
0:off 1:off 2:off
3:off 4:off 5:off
6:off yum
0:off 1:off 2:off
3:off 4:off 5:off
6:off xinetd based services:
chargen: off .....中间省略.....
telnet: off # 这个 chkconfig
的输出主要分为两大部分,分别是 stand alone 的服务, # 他会分出 0~6 个 run level 的资料,亦即上半部的显示,至于下半部则是 # super daemon 管理的服务的输出情况!由 super daemon 管理的服务, # 是没有 run
level 之分的喔! 范例二:显示出目前在 run level 3 为启动的服务 [root@linux ~]# chkconfig --list | grep '3:on' 范例三:让 atd 这个服务在 run level 为 3, 4, 5 时启动: [root@linux ~]# chkconfig --level 345 atd on |
chkconfig只是直接在 /etc/rc.d/rc[0-6].d 里面针对某服务进行连结档案的设定而已。服务必须要加入 init 可以管理的 script 当中,亦即是 /etc/init.d/ 当中才行。 举个例子,我们在 /etc/init.d/ 里面建立一个 myvbird 档案, 该档案仅是一个简单的服务范例,基本上,没有任何用途.... 对于该档案的必须性是这样的:
那么我可以这样做:
[root@linux ~]# vi /etc/init.d/myvbird #!/bin/bash # chkconfig: 35 80 70 # description: 没啥!只是用来作为练习之用的一个范例 echo "Nothing" # 这个档案很好玩喔!你可以参考你自己系统上面的档案; # 基本上,比较重要的是第二行,他的语法是: # chkconfig: [runlevels] [start number] [stop number] # 其中,
runlevels 为不同的 run level 状态,
start number 与 # stop number 则是在 /etc/rc.d/rc[35].d 内建立以 S80myvbird # 及
K70myvbird 为档名的设定方式! [root@linux ~]# chkconfig --add myvbird [root@linux ~]# chkconfig --list myvbird myvbird
0:off 1:off 2:off
3:on 4:off 5:on
6:off # 看吧!加入了
chkconfig 的管理当中了!再去看看 /etc/rc.d/ 底下的档案: [root@linux ~]# find /etc/rc.d/ -type l | grep
'myvbird'|sort /etc/rc.d/rc0.d/K70myvbird /etc/rc.d/rc1.d/K70myvbird /etc/rc.d/rc2.d/K70myvbird /etc/rc.d/rc3.d/S80myvbird /etc/rc.d/rc4.d/K70myvbird /etc/rc.d/rc5.d/S80myvbird /etc/rc.d/rc6.d/K70myvbird # 很有趣吧!如果要将这些数据都删除的话,那么就下达这样的情况: [root@linux ~]# chkconfig -- [root@linux ~]# rm /etc/init.d/myvbird |
chkconfig 真的是个不错用的工具吧!尤其是当你想要自己建立自己的服务时! ^_^
· ntsysv
基本上, chkconfig 真的已经很好用了,不过,我们的
Fedora 还有提供一个更不错用的, 那就是 ntsysv 了!注意喔, chkconfig 很多的 distributions 都存在,但是 ntsysv 则是 Red Hat 系统特有的!
[root@linux ~]# ntsysv [--level 参数: --level :后面可以接不同的 run level ,例如 ntsysv --level 35 范例: 范例一:直接编辑目前 run level 底下的开机预设启动项目: [root@linux ~]# ntsysv # 此时,你可以使用底下的按键来进行选择: # 上下键: 可以在中间的方框当中,在各个服务之间移动; # 空格键: 可以用来选择你所需要的服务,前面的 [*] 会有 * 出现; # tab 键: 可以在方框、OK、Cancel 之间移动; # [F1]键: 可以显示该服务的说明。举例来说,移动到 myvbird 按下 F1 后 # 没错!不要怀疑,这个就是 /etc/init.d/myvbird 档案内的 description: # 后面接的内容啊!了解了吗? ^_^ |
这个命令也可以通过setup命令进入。
Stand Alone Daemons |
|
服务名称 |
· 参数档 · 预设启动的 port number · 鸟哥的建议:是否需要启动? |
基本说明 |
|
anacron |
· /etc/anacrontab · 不需要使用 port · 全天候启用的主机,不需要开启这个服务 |
当你的 Linux 主机并不是全天候开机的时候,这个
anacron 就可以帮你执行在『 』既定的时间内没有执行的工作!举个例子来说,当你的主机在晚上 12:00 会自动关闭,但是偏偏 crontab 这个例行性工作是在 4:00 工作, 这个时候例行性工作不是都没有做到吗?嗯! anacron 就可以使用啦! |
|
apmd |
· /etc/sysconfig/apmd · 不需要使用 port · 一般主机不太需要这个 daemon |
apmd 是 Adventage
Power Management daemon 的缩写,顾名思义,可以用来了解系统的『电池电量』, 如果对于手提式计算机才有需要吧我想! |
|
atd |
· /etc/at.allow, /etc/at.deny · 不需要使用 port · 若有启动 cron ,或许可以忽略 |
这个总该不陌生了吧!就是 啰! 如果忘记了!赶紧去查看一下! |
|
autofs |
· /etc/sysconfig/autofs · 不需要使用 port · 如果是服务器,不需要启动,如果是 Desktop,建议使用 |
如果你的 Linux 是用来做为服务器的,那么这个服务就不需要启动了。 因为这个服务可以自动挂载很多的档案系统与装置,举例来说,自动挂载光盘啊、USB硬盘啊等等的。 如果是主机,我们可以自己好好的控制,不需要系统自动挂载。如果是个人桌上型计算机, 那么启动这个 daemon 也不错! |
|
crond |
· /etc/crontab · 不需要使用 port · 务必启动啊! |
用来的 daemon ,请务必要启动他! |
|
cups |
· /etc/printcap, /etc/cups/* · 预设使用 port 631 · 没有打印机的话,就不要启动 |
这个服务在管理 Linux 主机上面的打印机的! 他可以用来作为本机打印机的管理,也可以用来管理网络打印机,
全名为 Common UNIX Printing System (CUPS)。如果您的网络环境当中有打印机,
而且想要透过 Linux 来提供给所有用户使用,那么就可以管理一下
cups 啰~ |
|
gpm |
· /etc/sysconfig/mouse · 不需要使用 port · 不需要启动的 |
在文字模式里面可以使用 mouse 来从事『复制、贴上、移动光标』等等的功能! 如果你是个教师,需要使用鼠标在纯文字接口底下秀出结果的话,
再使用这玩意就好了。基本上,不需要启动他! |
|
httpd |
· /etc/httpd/conf/httpd.conf,
/etc/sysconfig/httpd · 使用 port 80 (and/or) 443 · 除非需要设定 WWW 服务器,否则不要启动 |
这个玩意儿可有趣的很哩~一般来说,新手最喜欢架设 Web 网站啰, 而 WWW 服务器,就是这个玩意儿啊~更详细的信息请参考服务器篇的内容 |
|
iptables |
· /etc/sysconfig/iptables · 不需要使用 port · 连上 Internet 的主机务必启动 |
这个家伙就是 Linux 上面有名的『防火墙』啦~如果你的
Linux 是在区网内, 而且没有连上 Internet 的话,那么这个防火墙机制可以暂时不要启动,
因为可能会抵挡掉你主机所提供的服务。如果连上了 Internet ,不开这个, 会死的很惨~ |
|
kudzu |
· /etc/sysconfig/kudzu · 不需要使用 port · 如果系统已经稳定,不需要启动 |
这个 daemon 预设是启动的,他会在开机的时候去侦测你的硬件, 如果发现硬件有异动,或者是有新增其它的硬件,
那么 kudzu 服务会主动的以 Fedora 相关的设定软件来设定你的新硬件。
不过,对于稳定的系统来说,实在没有必要在开机的时候侦测一次硬件,因为....很慢~ |
|
named |
· /etc/named.conf · 使用 port 53 · 不需要启动,除非是 DNS Server |
这是个很复杂的玩意儿,那就是 DNS (Domain Name System)。除非你真的很了解 DNS, 否则这个服务不需要启动的! |
|
netfs |
· /etc/fstab · 不需要使用 port · 如果你的主机有预设挂载网络上的磁盘档案系统时,才开启。 |
这个服务在自动的挂载 /etc/fstab 里头记录的关于网络档案系统,如 NFS, SMB (网芳) 等等,如果你的主机本身并没有挂载来自网络上的 filesystem,不需要启动。 |
|
network |
· /etc/sysconfig/network,
/etc/sysconfig/network-scripts/* · 不需要使用 port · 务必启动 |
看檔名就知道啦!是用来管理网络的,所以,当然要启动了。 不论你有没有网络卡,这个服务都要启动,因为至少
network 会驱动 lo 这个网络接口。 更多的网络相关信息,参考服务器篇的内容。 |
|
nfs |
· /etc/sysconfig/nfs · 随机使用 port,与 portmap 服务有关 · 不需要启动 |
NFS 为 Network
File System 的缩写,我们会在服务器篇谈这个服务, 一般来说,不需要启动这个玩意儿~ |
|
ntpd |
· /etc/ntp.conf,
/etc/sysconfig/ntpd · 使用 port 123 · 不需要启动 |
这个服务的全名是:Network Time Protocol,意思就是在进行网络校时的一个服务。
一般来说,不需要启动他。 |
|
portmap |
· /sbin/portmap 直接启动 · 使用 port 111 · 除非你有启用类似 NFS 的服务,否则不需要启动 |
这个咚咚与很多 RPC 的服务有关,例如 NFS 等等。一般来说,如果你的 Linux 尚未连上 internet, 这个服务不需要启动。不过,为了方便起见,各主要 linux distributions 都预设启动这个服务的。 鸟哥通常是关掉他!哈哈! |
|
postfix |
· /etc/postfix/* 或 /etc/mail/* · 使用 port 25 · 预设要启动 |
这个就是邮件服务器啦!由于近来网络垃圾大增,所以,目前所有的 Linux distributions 预设都要启动 postfix 之类的邮件服务器后,我们发出的信件才会接收或者是传送。 预设的情况下,一定会有一个邮件服务器启动的,不要关闭他~
否则我们主机上面的账号彼此之间无法以 email 传送数据喔! |
|
smb |
· /etc/samba/* · 使用 port 137~139, 445 等 · 不需要启动 |
这个服务其实就是仿真 Linux 成为 Windows 的网络上的芳邻上头的主机啦~
由于我们还没有连上 Internet 啊,所以自然不需要启动他啦~ |
|
sshd |
· /etc/ssh/* · 使用 port 22 · 务必启动 |
这个是取代 telnet 的远程联机服务器 daemon ,几乎所有的 Linux distributions 预设都会启动他~ 我们也可以透过这个玩意儿让远程主机联机进来啊!所以当然是启动的啊! |
|
syslog |
· /etc/syslog.conf · 不需要使用 port · 务必启动 |
这个是登录文件记录的一个重要的 daemon ,没有他,你的主机几乎没有事后监控的功能~ 所以请务必启动。我们会在
当中来谈这个咚咚~ |
|
xfs |
· 使用 /usr/sbin/chkfontpath 直接启动与侦测 · 使用 socket 7100 · 如果是纯文字接口,则不需要启动 |
X Font Server, xfs,顾名思义,他是用来管理 X Window 的字形的一个服务, 如果你是 run level 5 ,或者是想要启动 X Window 的话,那么这个玩意儿就不能不启动。 不过,如果你跟鸟哥一样都是使用纯文字接口的话,这个玩意儿不用启动啦! |
|
xinetd |
· /etc/xinetd.d/*,
/etc/xinetd.conf · 不一定,要看设定值 · 务必启动 |
刚刚上头才讲过这个玩意儿,不会就忘了吧?务必启动喔! |
|
Super Daemons |
|
chargen |
· 预设使用 port 19 · 不需要启动 |
主要的功能在于提供类似远程打字的咚咚吧! |
|
daytime |
· 预设使用 port 13 · 不需要启动 |
用来作为 daytime 的服务,这是 NTP
(Network Time Protocol) 的上一代, 目的在进行时间的校正工作。不过,因为他不会计算网络联机过程当中的迟滞时间, 并且是以明码传送,因此除了特殊目的外,目前已经很少使用这玩意儿了 |
|
krb5-telnet |
· 预设使用 port 23 · 不需要启动 |
用来取代传统的 telnet 服务!可提供 krb 5 的验证机制。 |
|
gssftp |
· 预设使用 port 21 · 不必启动 |
用来取代传统的 ftp server,可提供 krb 5 的验证机制 |