Chinaunix首页 | 论坛 | 博客
  • 博客访问: 19747082
  • 博文数量: 679
  • 博客积分: 10495
  • 博客等级: 上将
  • 技术积分: 9308
  • 用 户 组: 普通用户
  • 注册时间: 2006-07-18 10:51
文章分类

全部博文(679)

文章存档

2012年(5)

2011年(38)

2010年(86)

2009年(145)

2008年(170)

2007年(165)

2006年(89)

分类: LINUX

2007-11-22 15:08:07

系统服务

参考资料

l         《鸟哥的 Linux 私房菜》之 “

 

简介

 

Daemon 其实就是一种后台进程,一般负责系统上面的某个服务 (service)。服务包含系统上面的,以及针对网络的服务。Daemon一般常驻内存。

    daemon 分为可独立启动的 stand alone , 与透过统一安全机制管理的 Super daemon 两大类。

    stand alone 常驻内存,响应快。比如httpd

    super daemonxinet服务来传递,需要的时候才启动。比如ftptelnet。它有multi-threadedsingle-threaded两种。控制方式有signal-controlinterval-control(轮询)。详细资料请参考man 3 daemon

 

服务有关的端口口对应资料: /etc/servicesDaemon命令:通常在服务的名称之后会加上一个 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
dgram
raw

stream 为联机机制较为可靠的 TCP 封包,若为 UDP 封包则使用 dgram 机制。 raw 代表 server 需要与 IP 直接对谈!例如 telnet 使用 TCP ,所以:

socket_type = stream

protocol

tcp
udp
....

这个东西说的是,联机的状态使用的是哪一种协议!?各个协议的代号可以参考 /etc/protocols 内容!此外,除非是你自己设定的服务,否则这个可以不用设定啦!

wait

yes
no

这就是我们刚刚提到的 Multi-threaded single-threaded 的方式啦!一般来说,我们希望大家的要求都可以同时被启用,所以可以设定

wait = no

user

UID
root

还记得我们在 那一篇提到的 UID 概念吗?对啦!这个 UID 就是那个 UID 啦!要注意的是,假如你的服务启动者不要以 root 为主的话,那么这个地方就可以改变其它的使用者,例如 nobody !这个咚咚也会有安全防护的机制存在!此外,需要注意这个 UID 必须存在于 /etc/passwd

group

GID

user 的意思相同!只是这个 GID 的使用者也必须存在于 /etc/group 当中!

instances

number
UNLIMITED

这个是『在同一时间之内,同一个服务可以允许的联机数目』的意思, 你可以写入一个『数字』来控制联机数目,也可以使用 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
HOST
USERID
EXIT
DURATION

在『成功登入』之后,需要记录的项目:PID 为纪录该 server 启动时候的 process ID HOST 为远程主机的 IPUSERID 为登入者的账号、EXIT 为离开的时候记录的项目、 DURATION 为该使用者使用此服务多久?

log_on_failure

HOST
USERID
ATTEMPT
RECORD

当登入失败之后被 syslog 登入的项目:HOST为远程主机的 IPUSERID为登入者账号、 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

0.0.0.0
192.168.1.0/24
host_name
domain_name

这东西用在安全机制上面,也就是管制『只有这里面规定的 IP 或者是主机名称可以登入!』如果是 0.0.0.0 表示所有的 PC 皆可登入,如果是 192.168.1.0/24 则表示为 C class 的网域!亦即由 192.168.1.1 ~ 192.168.1.255 皆可登入!另外,也可以选择 domain name ,例如 .ev.ncku.edu.tw 就可以允许成大环工系的网域 IP 登入你的主机使用该 server

no_access

0.0.0.0
192.168.1.0/24
host_name
domain_name

only_from 差不多啦!就是用来管理可否进入你的 Linux 主机启用你的 server 服务的管理项目! no_access 表示『不可登入』的 PC 啰!

access_times

00:00-12:00
HH:MM-HH:MM

这个项目在设定『该服务 server 启动的时间』,使用的是 24 小时的设定!例如你的 ftp 要在 8 点到 16 点开放的话,就是: 08:00-16:00

umask

000
777
022

还记得在 里面约略提过的 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  0.0.0.0:*        LISTEN  19281/xinetd

tcp        0      0 192.168.1.100:23   0.0.0.0:*        LISTEN  19281/xinetd

# 有没有看到两个接口啊~而且, 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 来控管的,就是:

  1. 来源 IP
  2. port (就是服务啦)

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 10.50.50.0/255.255.255.0 : deny

 

  • 写在 hosts.allow 当中的 IP 与网段,为预设『可通行』的意思,亦即最后一个字段 allow 可以不用写;
  • 而写在 hosts.deny 当中的 IP 与网段则预设为 deny ,第三栏的 deny 亦可省略;
  • 这两个档案的判断依据是: (1) /etc/hosts.allow 为优先,而 (2) 若分析到的 IP 或网段并没有纪录在 /etc/hosts.allow ,则以 /etc/hosts.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 等等信息时;

 

又比如:

[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

  • spawn (action)
    可以利用后续接的 shell 来进行额外的工作,且具有变量功能,主要的变量内容为: %h (hostname), %a (address), %d (daemon)等等;

 

  • twist (action)
    立刻以后续的指令进行,且执行完后终止该次联机的要求 (DENY)

我们知道 finger 可以反向追踪网络封包的来源,所以,我希望这样:

  1. 利用 safe_finger 去追踪出对方主机的信息;
  2. 将该追踪到的结果以 email 的方式寄给 root
  3. 在对方屏幕上面显示不可登入的讯息

此时可以利用 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命令手册

系统自动启动的服务

  1. BIOS
  2. MBR (boot loader)
  3. kernel loading
  4. init program
  5. initial script (/etc/rc.d/rc.sysinit) 3.
  6. daemon start (/etc/rc.d/rc[0-6].d/*)
  7. local setting (/etc/rc.d/rc.local)

大致的情况是这样,看到啰~整个服务可以被开机就启动的地方有两个, 一个是在 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|--del] [service_name]

[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 档案, 该档案仅是一个简单的服务范例,基本上,没有任何用途.... 对于该档案的必须性是这样的:

  • myvbird 将在 run level 3 5 启动;
  • myvbird /etc/rc.d/rc[35].d 当中启动时,以 S80 开始以 K70 结束。

那么我可以这样做:

[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 --del myvbird

[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 键: 可以在方框、OKCancel 之间移动;

# [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
nfslock

·  /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
sendmail

·  /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
chargen-udp

·  预设使用 port 19

·  不需要启动

主要的功能在于提供类似远程打字的咚咚吧!

daytime
daytime-udp

·  预设使用 port 13

·  不需要启动

用来作为 daytime 的服务,这是 NTP (Network Time Protocol) 的上一代, 目的在进行时间的校正工作。不过,因为他不会计算网络联机过程当中的迟滞时间, 并且是以明码传送,因此除了特殊目的外,目前已经很少使用这玩意儿了

krb5-telnet

·  预设使用 port 23

·  不需要启动

用来取代传统的 telnet 服务!可提供 krb 5 的验证机制。

gssftp

·  预设使用 port 21

·  不必启动

用来取代传统的 ftp server,可提供 krb 5 的验证机制

 

阅读(3682) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~