Daemon and service

2 篇文章 0 订阅
系统服务daemons
系统为某些功能必须要提供一些服务,这个服务叫做service,但是提供service的守护守护进程叫做daemon,
daemon的主要分类:
	.stand_alone:可以单独启动服务(常驻内存进程)
			deamon启动并加载到内存就一直占用内存与系统资源,最大的优点就是,对客户端的要求响应较快。
	.super daemon:一直特殊的daemon来统一管理
		这一种服务的启动方式是由一个统一的daemon来负责唤起的各项服务,早期super daemon 是inetd,后来被
		xinted取代,这种方式的优点是:当客户端没有发起请求的时候相关的守护进程服务是关闭的,当有客户端发起请求的
		时候,super daemon才会唤醒服务,当客户端请求结束的时候,就会关闭守护进程。

这两种模式根据工作的环境的不同各有优势,用银行窗口来形象的说明这两种模式:
	单个窗口负责单一服务:stand alone
		在银行里一个窗口只负责一个客户,这就是日常的银行的工作模式。
	统一窗口负责各种业务:super daemon
		在银行里假设有一种复合形态的窗口,同时对外提供所有业务,但是当你去提出业务要求是他就将业务交给他后面相应的
		办理此业务的其他人,接着他就可以休息或继续其他业务。
super daemon两种处理模式:		
			.multi-threaded(多线程)
			.single-threaded(单线程)
daemon 工作形态的类型
如果deamon提供服务的工作状态来区分,又可以将daemon分为两大类:
	.signal-control:这时一种透过信号来管理的daemon,只要任何用户端的需求进来,他就会立即启动区处理。
	.interval-control:这种deamon每个一时间就会主动去执行某项工作。
daemon的启动脚本与启动方式
		启动某支守护进程,但守护进程启动还是需要执行文档,配置文件,执行环境等。为了管理方便,通常每个发行版本都会记录
		每一支daemon启动后取得的进程的PID在/var/run/这个目录,一次通常的发行版本会给我们一个简单的shell script来进行启动,
		该script可以进行环境侦测,配置文件分析,PID档案的放置,以及相关重要的文件的lock。
				/etc/init.d/*:启动脚本放置处
				/etc/sysconfig/*:各项服务的初始化配置文件
				/etc/xinetd.conf,/etc/xinetd/*:super deamon配置文件
				/etc/*:各服务的配置文件
				/var/lib/*:各项服务产生的数据库
				/var/run/*:各项服务的进程的PID记录
				 
super daemon 的启动方式
	super daemon的启动的方式是与stand alone是相同的,但他所管理的daemoon就不是这样的了,必须要正在配置文件中设定该daemon为启动才可以。
	配置文件就是/etc/xinetd/*的所有文件。
		查看super daemon所管理的服务是否启动了。
			grep -i 'disable' /etc/xinetd.d/*
	这个xinted可以进行安全性或者其他管理机制的控管,xinted也可以控制联机行为,这些控制的手段都可以让某些服务更加安全,资源管理更加合理,
	因此对一些客户端服务开放较多权限的服务,或者本身不具有管理机制或防火墙机制的服务,就可以透过哦xinetd来管理。
服务的防火墙管理xinetd,TCP Wrappers
/etc/host.allow,/etc/host.deny
任何一个受xinted管理的服务都是透过这两个文件设定防火墙的。简单的说防火墙就是针对来源IP或网域进行允许或拒绝的设定,已决定该联机是否能成功到达,
其实上面提到的/etc/xinted.d/rsync里头的no_access,only_from也可以死进行这方面的防火墙设定,不过使用/etc/host.allow&/etc/host.deny更加集中
其实这两个文件也是/usr/sbin/tcpd的配置文件,而这个/usr/sbin/tcpd则用来分析系统的TCP封包的软件,借由TCP风阿伯并搭配/etc/host.allow&&deny的规则对比,
主要就设定某些IP及端口的访问权限。基本上一个服务受到xinted管理,或者该服务进程支持TCP Wappers函数功能,该服务的防火墙设置就可以被这两个文件处理。
	查看sshd和httpd有没有支持TCP Wrappers功能。如图1:
		lld (libray dependency discovery)这个指令可以死查询某一个程序的动态函数库支持状态
		  
注:host.allow比host.deny的优先级高及当两个文件设定同意信息时,会按照host.allow的配置执行
配置语法:<service_name> <ip,domain,hostname>:<action>  注:service_name是启动该服务的守护进程。
例子:	
		rsycn:192.168.71.130/255.255.255.0
		rsycn:LOCAL
TCP Wappers特殊功能
    假如当其他人扫描我的某一服务的端口的时候,我就将他的ip记录下来,以做未来的查询和认证之用。
    
    那就得使用第三栏action的动作参数,而且需要安装TCP Wrappers。
        .spawn(action)
            可以利用后续接的shell来进行额外的工作,且具有变量功能,主要的变量内容为:%h(hostname),%a(adress),%d(daemon)等等。
        .twist(action)    .    
            立刻启动后续的指令进行,且执行完后终止该次联机的要求。
为了达到追踪来源的目标的相关信息,我需要safe_finger这个指令的帮忙才可以,而且我希望客户端的这个恶意者能够被警告。
    1.利用safe_finger去追踪对方主机的信息
    2.将该结果以Email的方式告知本机的root;
    3.在对方的屏幕上显示不可登录并警告他已经被记录的信息。
图2

上图的safe_finger实现对侦测到客户端的信息,然后使用管道将这些数据送给mail处理,mail 会将该信息以标头security的字样寄给root用户。

设定开机立即启动的服务的方法
    首先我的了解linux的开机流程
        1.打开计算机电源,开始读取BIOS进行主机自我测试;
        2.透过BIOS取得第一个开机装置,读取主引导分区MBR,取得开机管理程序;
        3.透过开机管理程序的设定,取得kernel地址,并加载到内存中且侦测系统硬件;
        4.内核呼叫init进程;
        5.init进程开始执行系统初始化(/etc/rc.d/rc/rc.sysinit)
        6.依据init进程的设定,进行daemon start(/etc/rc.d/rc[0-6]/*)
        7.加载本地设置(/etc/rc.d/rc.local)

chkconfig:管理系统服务默认开机是否启动
            chkconfig --list [service-name]
            chkconfig --level [service_name]
ntsysv:图形管理模式

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值