Linux_系统服务

Linux_系统服务
系统上面什么设定可以让服务与端口号对应在一起呢?那就是/etc/services
[root@www ~]# cat /etc/services
ftp 21/tcp                                   
ssh 22/tcp
.......等

daemon 的启动脚本(shell script)放在哪里
/etc/init.d/* :启动脚本放置处
/etc/sysconfig/* :各服务的初始化环境配置文件
/etc/xinetd.conf, /etc/xinetd.d/* :super daemon 配置文件,super daemon只是一个统一管理的机制
/etc/* :各服务各自的配置文件
/var/lib/* :各服务产生的数据库
/var/run/* :各服务的程序的PID记录处

显示出目前系统上面所有服务的运作状态
[root@www ~]# service --status-all


rsync 范例设定
[root@www ~]# vim /etc/xinetd.d/rsync
{
disable = no                             <==预设是关闭的,刚刚被我们打开了 no==打开
socket_type = stream             <==使用TCP的联机机制
wait = no                                 <==可以同时进行大量联机功能
user = root                             <==启动服务为root这个身份
server = /usr/bin/rsync     <==就是这支程序启动rsync的服务
server_args = --daemon         <==这是必要的选项
log_on_failure += USERID     <==登入错误时,额外记录用户ID
}

双网卡:网卡1:127.0.0.1 <++> 连接内网
                网卡2:192.168.1.100  连接外网

对内部 127.0.0.1 网域开放较多权限的部分:
1、这里的设定值需绑在127.0.0.1这个接口上
2、对127.0.0.0/8开放登入权限
3、不进行任何联机的限制,包括总联机数量与时间
4、但是127.0.0.100及127.0.0.200不允讲登入rsync服务
对外部 192.168.1.100 网域较多限制的设定:
1、对外设定绑住192.168.1.100这个接口
2、这个接口仅开放140.116.0.0/16这个B等级的网域及.edu.tw网域可以登入
3、开放的时间为早上1-9点以及晚上20-24点两个时段
4、最多允许10条同时联机的限制

[root@www ~]# vim /etc/xinetd.d/rsync
# 先针对对内的较为松散的限制来设定:
service rsync
{
disable = no                                                 <==要启动才行
bind = 127.0.0.1                                         <==服务绑在这个接口上
only_from = 127.0.0.0/8                         <==只开放这个网域的来源登入
no_access = 127.0.0.{100,200}             <==限制这两个不可登入
instances = UNLIMITED                             <==取代 /etc/xinetd.conf 的设定值
socket_type = stream                                 <==底下的设定则保留
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
# 再针对外部的联机来进行限制:
service rsync
{
disable = no
bind = 192.168.1.100
only_from = 140.116.0.0/16
only_from += .edu.tw                                         <==因为累加,所以利用+=设定
access_times = 01:00-9:00 20:00-23:59     <==时间有两时段,有空格隔开
instances = 10                                                     <==只有10条联机
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
}
启动:
记住必须重启xinetd
[root@www ~]# /etc/init.d/xinetd restart
先看看原本的873端口状态为何?
[root@www ~]# netstat -tnlp | grep 873
tcp 0 0 192.168.1.100:873 0.0.0.0:* LISTEN 7227/xinetd
tcp 0 0 127.0.0.1:873 0.0.0.0:* LISTEN 7227/xinetd


TCP Wrappers
服务的防火墙管理xinetd, TCP Wrappers
Linux 默认有提供一个软件分析的工具, 那就是/etc/hosts.deny, /etc/hosts.allow这两个配置文件,另外,如果有安装tcp wrappers套时,我们甚至可以加上一些额外的追踪功能
/etc/hosts.allow, /etc/hosts.deny 管理
TCP Wrappers来控管的就是:
1、来源IP 或/与 整个网域的IP网段
2、port 基于端口的服务

那要如何得知一个服务的程序有没有支持TCP Wrappers?
测试一下sshd及httpd这两个程序有无支持TCP Wrappers的功能
#重点在于软件有没有支持libwrap.so那个函式库
[root@www ~]# ldd $(which sshd httpd)
/usr/sbin/sshd:
        libwrap.so.0 => /usr/lib64/libwrap.so.0 (0x00002abcbfaed000)
        libpam.so.0 => /lib64/libpam.so.0 (0x00002abcbfcf6000)
/usr/sbin/httpd:
        libm.so.6 => /lib64/libm.so.6 (0x00002ad395843000)
        libpcre.so.0 => /lib64/libpcre.so.0 (0x00002ad395ac6000)
结果    :    sshd有支持但是httpd则没有支持

配置文件语法:
<service(program_name)> : <IP, domain, hostname> : <action>
<服务 (亦即程序名称)> : <IP 或领域 或主机名> : < 动作 >
eg.抵挡住rsync 127.0.0.100, 127.0.0.200,放行,140.116.0.0/16
[root@www ~]# vim /etc/hosts.deny
rsync : 127.0.0.100 127.0.0.200 : 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当中,但看起来繁琐、麻烦,但通常的写法是:
1、允讲进入的写在/etc/hosts.allow当中
2、不讲进入的则写在/etc/hosts.deny当中

eg.只允许140.116.0.0/255.255.0.0和203.71.38.123主机进入rsync服务器,此外其他IP都挡掉
[root@www ~]# vim /etc/hosts.allow
rsync: 140.116.0.0/255.255.0.0
rsync: 203.71.38.123
rsync: LOCAL
[root@www ~]# vim /etc/hosts.deny
rsync: ALL        <==利用ALL设定让所有其他来源不可登入

要确定有没有安装TCP Wrappers可以使用『 rpm -q tcp_wrappers 』来查询
spawn (action)
可以利用后续接的shell来进行额外的工作,且具有变量功能,主要的变量内容为:%h (hostname), %a (address), %d (daemon)等
twist (action)
立刻以后续的指令进行,且执行完后终止该次联机的要求(DENY)

为追踪来源目标信息,我们需要safe_finger这个指令的辅助才行;
1. 利用safe_finger去追踪出对方主机的信息(包括主机名、用户相关信息等)
2. 将该追踪到的结果以email的方式寄给我们本机的root
3. 在对方屏幕上面显示不可登入且警告他已经被记录的讯息
[root@www ~]# vim /etc/hosts.deny
rsync : 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" )                                       
1. rsync:指的就是rsync这个服务
2. ALL: 指的就是来源

Linux 主机是怎么开机的呢?
1. 打开计算机电源,开始读取BIOS并进行主机的自我测试
2. 透过BIOS取得第一个开机装置,读取主要开机区(MBR)取得开机管理程序
3. 透过开机管理程序的设定,取得kernel并加载内存且侦测系统硬件
4. 核心主动呼叫init程序
5. init程序开始执行系统初始化(/etc/rc.d/rc.sysinit)
6. 依据init的设定进行daemon start(/etc/rc.d/rc[0-6].d/*)
7. 加载本机设定(/etc/rc.d/rc.local)



chkconfig: 管理系统服务默认开机启动与否
[root@www ~]# chkconfig --list [服务名称]
[root@www ~]# chkconfig [--level [0123456]] [服务名称] [on|off]
选项与参数:
--list :仅将目前的各项服务状态列出来
--level:设定某个服务在该level下启动(on)或关闭(off)

显示出目前在run level3为启动的服务
[root@www ~]# chkconfig --list | grep '3:on'

让atd这个服务在run level为3, 4, 5时启动
[root@www ~]# chkconfig --level 345 atd on

chkconfig: 设定自己的系统服务
[root@www ~]# chkconfig [--add|--del] [服务名称]
选项与参数:
--add :增加一个服务名称给chkconfig来管理,该服务名称必须在/etc/init.d/内
--del :删除一个给chkconfig管理的服务
添加源码mysql到开机自启动服务:
1、cd /usr/local/mysql-5.0.22/
2、cp support-files/mysql.server /etc/rc.d/init.d/mysqld
3、chmod +x /etc/rc.d/init.d/mysqld
4、chkconfig --add mysqld
5、chkconfig --level 345 on mysqld

ntsysv    : 图形接口管理模式
ntsysv 则是Red Hat系统特有的
[root@www ~]# ntsysv [--level <levels>]
选项与参数:
--level :后面可以接不同的run level ,例如ntsysv --level 35
一般我们都是直接输入ntsysv即可进入管理画面了
若中括号内出现星号(*)代表预设开机会启动,否则就是不会在开机时启动啦

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值