Note For Linux By Jes(12)-认识系统服务(daemons)
什么是daemon與服務(service):
daemon 的主要分類:
stand_alone:此daemon 可以自行單獨啟動服務
super daemon:一支特殊的 daemon 來統一管理
 
服務與端口的對應:
 
 
daemon 的啟動腳本與啟動方式:
/etc/init.d/* :啟動腳本放置處
/etc/sysconfig/* :各服務的初始化環境配置文件
/etc/xinetd.conf, /etc/xinetd.d/* :superdaemon 配置文件
/etc/* :各服務各自的配置文件
/var/lib/* :各服務產生的數據庫
/var/run/* :各服務的程序之PID 記錄處
 
 
 
 
解析superdaemon 的配置文件:
默認值配置文件:xinetd.conf
|   attribute (功能)  |   說明與范例  | 
|   一般配置項目:服務的識別、啟動與程序  | |
|   disable  |  
 disable 為取消的意思,此值可配置該服務是否要啟動。默認所有的super daemon 管理的服務都不啟動的。若要啟動就得要配置為『 disable =no 』  | 
|   id  |  
 雖然服務在配置文件開頭『service 服務名稱』已經指定了,不過有時后會有重復的配置值,此時可以用id 來取代服務名稱。你可以參考一下 /etc/xinetd.d/time-stream來思考一下原理。  | 
|   server  |  
 這個就是指出這個服務的啟動程序!例如/usr/bin/rsync 為啟動rsync 服務的命令,所以這個配置值就會成為:『 server = /usr/bin/rsync 』  | 
|   server_args  |  
 這里應該輸入的就是你的server 那里需要輸入的一些參數啦!例如rsync 需要加入--daemon ,所以這里就配置:『 server_args =--daemon 』。與上面server 搭配,最終啟動服務的方式『/usr/bin/rsync--daemon』  | 
|   user  |  
 如果xinetd 是以root 的身份啟動來管理的,那么這個項目可以配置為其他用戶。此時這個daemon 將會以此配置值指定的身份來啟動該服務的程序喔!舉例來說,你啟動rsync 時會以這個配置值作為該程序的UID。  | 
|   group  |   跟user 的意思相同!此項目填入組名即可。  | 
|   一般配置項目:聯機方式與聯機封包協議  | |
|   socket_type  |  
 stream 為聯機機制較為可靠的TCP 封包,若為UDP 封包則使用dgram 機制。raw代表server 需要與IP 直接對談!舉例來說rsync 使用TCP ,故配置為『socket_type= stream 』  | 
|   protocol  |  
 使用的網絡協議,需參考/etc/protocols 內的通訊協議,一般使用tcp 或udp。由于與socket_type 重復,因此這個項目可以不指定。  | 
|   wait  |  
 這就是我們剛剛提到的Multi-threaded 與single-threaded!一般來說,我們希望大家的要求都可以同時被激活,所以可以配置『wait = no 』此外,一般 udp 配置為yes 而tcp 配置為no。  | 
|   instances  |  
 這個服務可接受的最大聯機數量。如果你只想要開放30 個人聯機rsync 時,可在配置文件內加入:『instances = 30 』  | 
|   per_source  |  
 如果想要控制每個來源IP 僅能有一個最大的同時聯機數,就指定這個項目吧!例如同一個IP 最多只能連10 條聯機『per_source = 10 』  | 
|   cps  |  
 為了避免短時間內大量的聯機要求導致系統出現忙碌的狀態而有這個cps 的配置值。第一個數字為一秒內能夠接受的最多新聯機要求,第二個數字則為,若超過第一個數字那暫時關閉該服務的秒數。  | 
|   一般配置項目:登錄文件的記錄  | |
|   log_type  |  
 當數據記錄時,以什么登錄項目記載?且需要記載的等級為何(默認為info 等級)。這兩個配置值得要看過下一章登錄檔后才會知道哩!這邊你先有印象即可。  | 
|   log_on_success  |  
 在『成功登陸』或『失敗登陸』之后,需要記錄的項目:PID為紀錄該server 啟動時候的process ID ,HOST 為遠程主機的IP、USERID為登陸者的賬號、EXIT為離開的時候記錄的項目、DURATION為該用戶使用此服務多久?  | 
|   進階配置項目:環境、網絡端口口與聯機機制等  | |
|   env  |  
 這一個項目可以讓你配置環境變量,環境變量的配置守則可以參考第十一章。  | 
|   port  |  
 這里可以配置不同的服務與對應的port ,但是請記住你的port 與服務名稱必須與/etc/services 內記載的相同才行!不過,若服務名稱是你自定義的,那么這個port 就可以隨你指定  | 
|   redirect  |  
 將client 端對我們server 的要求,轉到另一部主機上去!呵呵!這個好玩呦!例如當有人要使用你的 ftp時,你可以將他轉到另一部機器上面去!那個IP_Address 就代表另一部遠程主機的IP 啰!  | 
|   includedir  |  
 表示將某個目錄底下的所有文件都給他塞進來xinetd.conf 這個配置里頭!這東西有用多了,如此一來我們可以一個一個配置不同的項目!而不需要將所有的服務都寫在xinetd.conf 當中!你可以在/etc/xinetd.conf 發現這個配置呦!  | 
|   安全控管項目:  | |
|   bind  |  
 這個是配置『允許使用此一服務的適配卡』的意思!舉個例子來說,你的Linux 主機上面有兩個IP ,而你只想要讓IP1 可以使用此一服務,但IP2 不能使用此服務,這里就可以將IP1 寫入即可!那么IP2 就不可以使用此一server 啰  | 
|   interface  |  
 與bind 相同  | 
|   only_from  |  
 這東西用在安全機制上面,也就是管制『只有這里面規定的IP 或者是主機名可以登陸!』如果是0.0.0.0 表示所有的PC 皆可登陸,如果是192.168.1.0/24 則表示為C class 的網域!亦即由192.168.1.1 ~ 192.168.1.255 皆可登陸!另外,也可以選擇domain name ,例如.dic.ksu.edu.tw 就可以允許昆山資傳系網域的IP 登陸你的主機使用該server !  | 
|   no_access  |  
 跟only_from 差不多啦!就是用來管理可否進入你的Linux 主機激活你的server 服務的管理項目!no_access 表示『不可登陸』的PC 啰!  | 
|   access_times  |  
 這個項目在配置『該服務server 啟動的時間』,使用的是24 小時的配置!例如你的ftp 要在8 點到16 點開放的話,就是:08:00-16:00。  | 
|   umask  |  
 還記得在第七章提到的umask這個東西嗎?呵呵!沒錯!就是那個鬼玩意兒啰!可以配置用戶創建目錄或者是文件時候的屬性!系統建議值是022 。  | 
 
 
 
 
 
 
服務的防火墻管理xinetd,TCP Wrappers:
/etc/hosts.allow, /etc/hosts.deny 管理
TCP Wrappers 特殊功能:spawn(action),twist(action)
 
 
 
 
 
 
系統開啟的服務:
觀察系統啟動的服務:netstat-tulp
配置啟動后立即啟動服務的方法:
/etc/init.d/* start
chkconfig:管理系統服務默認啟動啟動與否
ntsysv:類圖形接口管理模式
 
 
總結
以上是生活随笔為你收集整理的Note For Linux By Jes(12)-认识系统服务(daemons)的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 我的世界神奇宝贝怎么制作服务器,我的世界
 - 下一篇: linux文件操作学习3