Linux 学习笔记 -- 第四部分 Linux 使用着管理 -- 第18章 认识系统服务

认识系统服务(daemons)
什么是daemon与服务
常驻在内存中的进程,且可以提供一些系统或网络功能,那就是服务。

实现这个 service 的程序我们就称它为 daemon


daemon 的主要分类
stand alone 此 daemon 可以自行单独启动服务


super daemon 一个特殊的 daemon 来统一管理


服务与端口的对应


daemon 的启动脚本与启动方式
/etc/init.d/* 启动脚本放置处
/etc/sysconfig/* 个服务的初始化环境配置文件
/etc/xinetd.conf,/etc/xinetd.d/* super daemon 配置文件
/etc/* 各服务各自的配置文件
/var/lib/* 各服务产生的数据库
/var/run/* 各服务的程序的 PID 记录处

Stand alone 的/etc/init.d/*启动
/etc/init.d/syslog
/etc/init.d/syslog status
/etc/init.d/syslog restart
/etc/init.d/syslog status


service [service name] (start|stop|restart)
service --status-all
service name 即是需要启动的服务名称,需与 /etc/init.d/ 对应
start|stop|restart 即是该服务要进行的工作
--status-all 将系统所有的 stand alone 的服务状态全部列出来

service crond restart (重新启动 crond 这个 daemon)
/etc/init.d/crond restart
service --startus-all


super daemon 的启动方式
grep -i 'disable' /etc/xinetd.d/*
# /etc/xinetd.d/rsync: disable = yes
如果“disable=yes”则代表取消此项服务的启动,如果“disable=no”才是有
启动该服务

启动 rsync 这个服务:
vim /etc/xinetd.d/rsync (先修改配置文件成为启动的模样)
disable = no
/etc/init.d/xinetd restart (重启启动 xinetd 这个服务)
grep 'rsync' /etc/services (查看启动的端口)
netstat -tnlp | grep 873

解析 super daemon 的配置文件
默认值配置文件:xinetd.conf

一个简单的 rsync 范例设置

服务的防火墙管理 xinetd,TCP Wrappers
/etc/hosts.allow,/etc/hosts.deny 管理
任何以 xinetd 管理的服务都可以通过 /etc/hosts.allow,/etc/host.deny 来设置防火墙

TCP Wrappers 来管控的是:
1.源 IP 或整个域的 IP 网段
2.port (就是服务,启动某个端口是 daemon 的责任)

ldd $(which sshd httpd) (测试一下 sshd 及 httpd 这两个程序有无支持 TCP Wrappers 的功能)

ldd ( library dependency discovery ) 这个命令可以查询某个程序的动态函数库支持状态


配置文件语法:
<service (program_name)> : <IP, domain, hostname> : <action>
<服务 (即程序名称)>      : <IP 或域 或主机名>     : < 操作 >


rsync : 127.0.0.100 127.0.0.200 : deny



rsync : 127.0.0.100 : deny
rsync : 127.0.0.200 : deny


1.只允许 140.116.0.0/255.255.0.0 与 203.71.39.0/255.255.255.0 这两个域,及 203.71.38.123
 这个主机可以进入我们的 rsync 服务器
2.此外,其他的 IP 全部都挡掉


vim /etc/hosts.allow
rsync: 140.116.0.0/255.255.0.0
rsync: 203.71.39.0/255.255.255.0
rsync: 203.71.38.123
rsync: LOCAL


vim /etc/hosts.deny
rsync: ALL


TCP wrappers 特殊功能
要确定有没有安装 TCP Wrappers 可以使用“rpm -q tcp_wrappers”来查询

主要操作有:
spawn (action) 可以利用后续的 shell 来进行额外的工作,且具有变量功能,主要的变量
      内容为:%h(hostname)、%a(address)、%d(daemon)等
twist (action) 立刻以后续的命令进行,且执行完后终止该次连接的请求(DENY)


vim /etc/hosts.deny
rsync: ALL: spawn (echo "security notice from host $(/bin/hostname)";echo;/user/sbin/safe_finger @%h)
                                            | /bin/mail -s "%d-%h security" root & : twist ( /bin/echo -e "\n\nWARNING 
   connection not allowed.\n\n" )


safe_finger,会检测到客户端主机的相关信息


系统开启的服务
查看系统启动的服务
netstat -tulp (找出目前系统开启的网络服务)

netstat -lnp (找出所有的有监听网络的服务)


service --status-all (查看所有的服务状态)


设置开机后立即启动服务的方法
chkconfig 管理系统服务默认开机启动与否


chkconfig --list [服务名称] 
chkconfig [--level [0123456]] [服务名称] [on|off]
--list 仅将目前的各项服务状态栏显示出来 (只有 on 或 off 者为 super daemon)
--level 设置某个服务在该 level 下启动 (on) 或 关闭 (off)

chkconfig --list | more (列出系统上面所有被 chkconfig 管理的服务)


chkconfig --list | grep '3:on' (显示出目前在 run level3 下启动的服务)

chkconfig --level 345 atd on (让 atd 这个服务在 run level 为 3,4,5 时启动)


/etc/init.d/httpd status (先查看 httpd,再查看默认有无启动,之后以 chkconfig 设置为默认启动)
chkconfig --list httpd 
chkconfig httpd on; chkconfig --list httpd
/etc/init.d/httpd status 


/etc/init.d/rsync status
netstat -tlup | grep rsync
chkconfig --list rsync
chkconfig rsync off; chkconfig --list rsync
/etc/init.d/xinetd restart; netstat -tlup } grep rsync


ntsysv [--level <levels>] 类图形界面管理模式


chkconfig [--add|--del] [服务名称] 设置自己的系统服务
--add 增加一个服务名称给 chkconfig 来管理,该服务名称必须在 /etc/init.d 内
--del 删除一个给 chkconfig 管理的服务


vim /etc/init.d/myvbird
#!/bin/bash
# chkconfig 35 80 70
# description :nothing
echo "nothing"


chkconfig --list myvbird
chkconfig --add myvbird; chkconfig --list myvbird
chkconfig --del myvbird
rm /etc/init.d/myvbird
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值