bb服务管理

  • 格式:docx
  • 大小:24.82 KB
  • 文档页数:4

服务管理:

概念:daemon与service

服务的种类:

a) 按照服务的功能分

i. 系统服务:服务对象是Linux系统本身或是linux系统用户

ii. 网络服务:服务对象是网络中的其他客户端

b) 按照服务启动方式分

i. 独立式服务

1. 相应速度快,占用系统资源

ii. 非独立式服务

1. 相应速度慢,节省系统资源

服务与端口号的对应/etc/services

httpd、

ssh、

telnet、

ftp、

dns、

dhcp、

samba、

nfs、

portmap、

imap、

imaps、

pop3、

pop3s、

smtp、

Mysql

daemon的启动脚本与启动方式

/etc/init.d/*:启动脚本放置处

/etc/sysconfig/*:各服务的初始化环境配置文件

/etc/xinetd.conf,/etc/xinetd.d/*:非独立式服务的配置文件

/etc/*:各服务各自的配置文件存放目录

/var/lib/*:各服务产生的数据库

/var/run/*:各服务的程序PID放置处

独立式服务的启动

[root@www ~]# /etc/init.d/syslog

用法:/etc/init.d/syslog {start|stop|status|restart|condrestart}

 start:启动这个服务。

 stop:停止这个服务。

 restart:先停止,再启动,也就是重新启动的意思。

 reload:重载配置文件,这个参数只有在服务已经启动的状况下才能使用。  condrestart:有条件的重新启动,这个服务必须是已经启动的,才会被重新启动;如果这个服务尚未启动,则无须启动之。

 status:查看目前服务的启动状态。

非独立式服务的启动

xinetd的启动方式同独立式服务;但其管理的服务就不同了,下面以rsync这个非独立式服务为例:

[root@www ~]# cd /etc/xinetd.d/

[root@www xinetd.d]# vim rsync 编辑rsync的配置文件,设置disable = no

[root@www xinetd.d]# grep disable rsync

disable = no

[root@www xinetd.d]# /etc/init.d/xinetd reload注意是reload,而不是restart

重新载入配置: [确定]

查看服务有没有开启

[root@www xinetd.d]# grep rsync /etc/services查找rsync的端口号

rsync 873/tcp # rsync

rsync 873/udp # rsync

下面的两种方法都可以查询rsync服务有没有开启:

[root@www xinetd.d]# lsof -i:873查看哪个程序在占用873端口

COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME

xinetd 4061 root 6u IPv4 58663 TCP *:rsync (LISTEN)

[root@www xinetd.d]# netstat -tlunp | grep 873查看是否开启了rsync这个网络服务

tcp 0 0 0.0.0.0:873 0.0.0.0:*

LISTEN 4061/xinetd

5.xinetd及其管理的服务的配置

配置文件中的符号:

= 表示后面的设置参数就是这样

+= 表示后面的设置为在原来的设置里面加入新的参数

-= 表示后面的设置为在原来的设置里面放弃这里输入的参数

配置文件相关参数:

Flags 可选值:REUSE、SENSOR(结合deny_time和no_access使用)

access_times 时间控制,如8:00-18:00 2:00-5:00

disable 是否启动该服务

id 服务识别

server 服务的程序文件名(绝对路径)

user 以哪个用户的身份启动和管理

group 以哪个用户组的身份启动和管理

socket_type 数据包类型,可选值stream、dgram

wait 连接机制

instances 最大连接数

per_source 单个IP最多可以有多少个链接

cps 50 10 意思为一秒内最多新链接请求为50个,如果超过,就暂停服务十秒

log_type 日志记录的选项和等级

log on failure 登录失败需要记录的选项

log on success 登陆成功记录的选项

redirect 将客户端的链接请求转到另一台主机上去

includedir 调用外部某个目录的设置

bind 服务接口绑定定

interface同上

only_from 防火墙机制,指定被允许连接的网段

no_access 防火墙机制,指定被拒绝连接的网段

练习:

环境:你的linux服务器上有两个网络接口,一个是lo,一个是eth0;假设将lo设置成对内网的用户提供rsync服务;eth0设置成对外网的用户提供rsync服务,要求:

对内网:

绑定在127.0.0.1这个接口上

对127.0.0.0/8这个网段开放登录权限

限制127.0.0.100和127.0.0.200登录rsync服务

不进行任何连接限制,包括总连接数和时间

对外网:

绑定你的eth0网络接口的IP地址

这个接口仅开放192.168.18.0/24网段和域

开放时间为上午1:00-6:00及晚上10:00-12:00两个时间段

最多允许10个同时连接

设置服务的开机自启动

独立式服务:

chkconfig httpd on 设置httpd开机自启动

chkconfig --list httpd 查看httpd在那些运行级别中设置了开机自启动

chkconfig httpd off 关闭httpd在2345运行级别中设置过得开机自启动

chkconfig --level 3 httpd on 设置httpd只在3这个运行级别中开机自启动

独立式服务设置开机自启动是设置的该服务的启动管理脚本,如/etc/init.d/httpd文件:

# chkconfig: - 85 15

# description: Apache is a World Wide Web server.

非独立式服务:

[root@www xinetd.d]# chkconfig --list rsync

rsync 启用

[root@www xinetd.d]# chkconfig rsync off [root@www xinetd.d]# /etc/init.d/xinetd reload

重新载入配置: [确定]

[root@www xinetd.d]# netstat -tlunp | grep 873

[root@www xinetd.d]#

基于tcp wrappers机制的防火墙功能

适用范围

xinetd管理的所有服务和支持libwrap.so这个函数库文件的程序

ldd 可以查询某个程序的动态函数库的支持状态

[root@www ~]# ldd $(which sshd) |grep libwrap.so

libwrap.so.0 => /lib/libwrap.so.0 (0x00b15000)sshd支持

[root@www ~]# ldd $(which httpd) |grep libwrap.so

[root@www ~]# httpd不支持,即不适用这种防火墙机制

设置文件/etc/hosts.allow和/etc/hosts.deny

允许的写在/etc/hosts.allow中,拒绝的写在/etc/hosts.deny中;如果两文件的设置冲突,以/etc/hosts.allow为准

文件的格式:

daemon: IP地址或域名或网段: 操作

注:程序文件名,即程序执行文件的名称,如rsync、sshd

几个特殊参数:

ALL:代表全部的程序或者全部IP,如ALL: ALL: deny

LOCAL:代表来自本机的意思。如ALL: LOCAL: allow

UNKOWN:代表不知道的IP或DOMAIN或服务

练习:

只允许192.168.18.0/24与192.168.10.0/24这两个网段和192.168.1.1这个主机可以连接本机的ssh服务;其他的ip全部不允许连接本机的ssh服务

TCP Wrappers更高级的玩法:

当有人扫描我的sshd的端口时,记下他的IP作为日后的证据!

特殊参数:

spawn:可以利用后续的shell来进行额外的工作,支持变量功能,主要的变量有:%h(hostname)、%a(address)、%d(daemon)、%c(客户端信息)等

示例:

[root@www xinetd.d]# vim /etc/hosts.deny

sshd : ALL : spawn echo "security notice %c scan host $(/bin/hostname) |mail -s

“ssh_security" root