Daemon and service

来源:互联网 发布:深圳知路科技有限公司 编辑:程序博客网 时间:2024/05/20 07:18
系统服务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.0rsycn:LOCALTCP 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
原创粉丝点击