linux 常見服務端口

Linux服務器在啓動時須要啓動不少系統服務,它們向本地和網絡用戶提供了Linux的系統功能接口,直接面嚮應用程序和用戶。提供這些服務的程序是由運行在後臺的守護進程(daemons) 來執行的。守護進程是生存期長的一種進程。它們獨立於控制終端而且週期性的執行某種任務或等待處理某些發生的事件。他們經常在系統引導裝入時啓動,在系統 關閉時終止。linux系統有不少守護進程,大多數服務器都是用守護進程實現的。同時,守護進程完成許多系統任務,好比,做業規劃進程crond、打印進 程lqd等。有些書籍和資料也把守護進程稱做:「服務」。選擇運行哪些守護進程,要根據具體需求決定。查看系統能夠提供的守護進程對應的服務,使用下面方 法,以root權限運行:php

#ntsysv html


 
   圖1 能夠選擇的系統服務
 界面如圖1所示的窗口,下面詳細介紹一下各項系統服務的功能。以英文字母爲序:
    1、Linux守護進程簡介
1.alsasound :Alsa聲卡驅動守護程序。Alsa聲卡驅動程序原本是爲了 一種聲卡Gravis UltraSound(GUS)而寫的,該程序被證 明很優秀,因而做者就開始爲通常的聲卡寫 驅動程序。 Alsa和OSS/Free 及OSS/Linux兼容,可是有本身的接 口,甚至比OSS優秀。
2.acpid:acpid(Advanced Configuration and Power Interface)是爲替代傳統的APM電源管理標準而推出的新型電源管理標準。一般筆記本電腦須要啓動電源進行管理。
3.atalk:AppleTalk網絡守護進程。注意不要在後臺運行該程序,該程序的數據結構必須在運行其餘進程前先花必定時間初始化。
4.amd: 自動安裝NFS守護進程。
5.anacron: 一個自動化運行任務守護進程。Red Hat Linux 隨帶四個自動化任務的工具:cron、 anacron、at、和 batc。當你的Linux服務器並非全天運行,這個anacron就能夠幫你執行在"crontab"設定的時間內沒有執行的工做。
6.apmd:apmd(Advanced Power Management)是高級電源管理。傳統的電源管理標準,對於筆記本電腦比較有用,能夠了解系統的電池電量信息。並將相關信息經過syslogd 寫入日誌。也能夠用來在電源不足時關機。
7.arptables_jf :爲arptables網絡的用戶控制過濾的守護進程。
8.arpwatch: 記錄日誌並構建一個在LAN接口上看到的以太網地址和IP地址對數據庫
atd:at和batch命令守護進程,用戶用at命令調度的任務。Batch用於在系統負荷比較低時  運行批處理任務。
9.autofs:自動安裝管理進程automount,與NFS相關,依賴於NIS服務器。
10.bootparamd:引導參數服務器,爲LAN上的無盤工做站提供引導所需的相關信息。
11.bluetooch:藍牙服務器守護進程。
12.crond :cron是Unix下的一個傳統程序,該程序週期地運行用戶 調度的任務。比起傳統的Unix版本,Linux版本添加了很多屬性,並且更安全,配置更簡單。相似計劃任務。
13.chargen:使用tcp協議的chargen server,chargen(Character Generator  Protocol)是一種網絡服務,主要功能是提供相似遠程打字的功能。
14.chargen-udp:使用UDP協議的chargen server。
15.cpuspeed:監測系統空閒百分比,下降或加快CPU時鐘速度和電壓從而在系統空閒時將能源消耗降爲最小,而在系統繁忙時最大化加快系統執行速度。
16.dhcpd:動態主機控制協議(Dynamic Host Control Protocol)的服務守護進程。
17.cups: cups(Common UNIX Printing System)是通用UNIX打印守護進程,爲Linux提供第三代打印功能。
18.cups-config-daemons:cups打印系統切換守護進程。
19.cups-lpd:cups行打印守護進程。
20.daytime:使用TCP 協議的Daytime守護進程,該協議爲客戶機實現從遠程服務器獲取日期 和時間的功能。預設端口:13。
21.daytime-udp:使用UDP 協議的Daytime守護進程。
22.dc_server:使用SSL安全套接字的代理服務器守護進程。
23.dc_client:使用SSL安全套接字的客戶端守護進程。
24.diskdump:服務器磁盤備份守護進程。
25.echo:服務器回顯客戶數據服務守護進程。
26.echo-udp:使用UDP協議的服務器回顯客戶數據服務守護進程。
27.eklogin:接受rlogin會話鑑證和用kerberos5加密的一種服務的守護進程。
28.gated :網關路由守護進程。它支持各類路由協議,包括RIP版本1和二、DCN HELLO協議、 OSPF版本2以及EGP版本2到4。
29.gpm:gpm(General Purpose Mouse Daemon )守護進程爲文本模式下的Linux程序如mc(Midnight Commander)提供了鼠標的支持。它也支持控制檯下鼠標 的拷貝,粘貼操做以及彈出式菜單。
30.gssftp: 使用kerberos 5認證的ftp守護進程
31.httpd:Web服務器Apache守護進程,可用來提供HTML文件以 及CGI動態內容服務。
32.inetd :因特網操做守護程序。監控網絡對各類它管理的服務的需求,並在必要的時候啓動相應的服務程序。在Redhat 和Mandrake linux中被xinetd代替。Debian, Slackware, SuSE仍然使用。
33.innd:Usenet新聞服務器守護進程。
34.iiim:中文輸入法服務器守護進程。
35.iptables:iptables防火牆守護進程。
36.irda:紅外端口守護進程。
37.isdn:isdn啓動和停止服務守護進程。
38.krb5-telnet:使用kerberos 5認證的telnet守護進程。
39.klogin:遠程登錄守護進程。
40.keytable: 該進程的功能是轉載在/etc/sysconfig/keyboards裏定義的鍵盤映射表,該表能夠經過kbdconfig工具進行選擇。您應該使該程序處於激活狀態。
41.irqbalance:對多個系統處理器環境下的系統中斷請求進行負載平衡的守護程序。若是你只安裝了一個CPU,就不須要加載這個守護程序。
42.kshell :kshell守護進程。
43.kudzu: 硬件自動檢測程序,會自動檢測硬件是否發生變更,並相應進行硬件的添加、刪除工做。當系統啓動時,kudzu會對當前的硬件進行檢測,而且和存儲 在      /etc/sysconfig/hwconf中的硬件信息進行對照,若是某個硬件從系統中被添加或者刪除時,那麼kudzu就會察覺到,而且通知用戶是否 進行相關配置,而後修改etc/sysconfig/hwconf,使硬件資料與系統保持同步。若是/etc/sysconfig/hwconf這個文件 不存在,那麼kudzu將會從/etc/modprobe.conf,/etc/sysconfig/network-scripts/和 etc/X11/XF86Config中探測已經存在的硬件。若是你不打算增長新硬件,那麼就能夠關閉這個啓動服務,以加快系統啓動時間。
44.ldap:ldap(Lightweight Directory Access Protocol)目錄訪問協議服務器守護進程。
45.lm_seroems:檢測主板工做狀況守護進程。
46.lpd :lpd是老式打印守護程序,負責將lpr等程序提交給打印 做業。
47.mdmonitor:RAID相關設備的守護程序。
48.messagebus:D- BUS是一個庫,爲兩個或兩個以上的應用程序提供一對一的通信。 dbus-daemon-1是一個應用程序,它使用這個庫來實現messagebus守護程序。多個應用程序經過鏈接messagebus守護程序能夠實 現與其餘程序交換信息。
49.microcode_ctl:可編碼以及發送新的微代碼到內核以更新Intel IA32系列處理器守護進程。
50.mysqld: 一個快速高效可靠的輕型SQL數據庫引擎守護進程。
51.named:DNS(BIND)服務器守護進程。
52.netplugd:netplugd(network cable hotplug management daemon)守護程序,用於監控一個或多個網絡接口的狀態,當某些事件觸發時運行一個外部腳本程序。
53.netdump:遠程網絡備份服務器守護進程。
54.netfs:Network Filesystem Mounter,該進程安裝和卸載NFS、SAMBA和NCP網絡文件系統。
55.nfs:網絡文件系統守護進程。
56.nfslock:NFS是一個流行的經過TCP/IP網絡共享文件的協議,此守護進程提供了NFS文件鎖定功能。
57.ntpd:Network time Protocol daemon(網絡時間校訂協議)。ntpd是用來使系統和一個精確的時間源保持時間同步的協議守護進程。
58.network:激活/關閉啓動時的各個網絡接口守護進程。
59.psacct:該守護進程包括幾個工具用來監控進程活動的工具,包括ac,lastcomm, accton 和sa。
60.pcmcia:主要用於支持筆記本電腦接口守護進程。
61.portmap:該守護進程用來支持RPC鏈接,RPC被用於NFS以及NIS 等服務。
62.postgresql: PostgreSQL 關係數據庫引擎。
63.proftpd: proftpd 是Unix下的一個配置靈活的ftp服務器的守護程序。
64.pppoe:ADSL鏈接守護進程。
65.random :保存和恢復系統的高質量隨機數生成器,這些隨機數是系 統一些隨機行爲提供的。
66.rawdevices:在使用集羣文件系統時用於加載raw設備的守護進程。
67.readahead、 readahead_early:readahead和readahead_early是在Fedora core 2中最新推出的兩個後臺運行的守護程序。其做用是在啓動系統期間,將啓動系統所要用到的文件首先讀取到內存中,而後在內存中進行執行,以加快系統的啓動速 度。
68.rhnsd:Red Hat 網絡服務守護進程。通知官方的安全信息以及爲系統打補丁。
69.routed :該守護程序支持RIP協議的自動IP路由表維護。RIP主要 使用在小型網絡上,大一點的網絡就須要複雜一點的協議。
70.rsync:remote sync遠程數據備份守護進程。 
71.rsh :遠程主機上啓動一個shell,並執行用戶命令。
72.rwhod: 容許遠程用戶得到運行rwho守護程序的機器上全部已登陸用戶的列表。
73.rstatd:一個爲LAN上的其它機器收集和提供系統信息的守候進程。
74.ruserd:遠程用戶定位服務,這是一個基於RPC的服務,它提供關於當前記錄到LAN上一個機器日誌中的用戶信息
75.rwalld:激活rpc.rwall服務進程,這是一項基於RPC的服務,容許用戶給每一個註冊到LAN機器上的其餘終端寫消息 。
76.rwhod:激活rwhod服務進程,它支持LAN的rwho和ruptime服務。
77.saslauthd: 使用SASL的認證守護進程。
78.sendmail:郵件服務器sendmail守護進程。
79.smb:Samba文件共享/打印服務守護進程。
80.snmpd:本地簡單網絡管理守護進程。
81.squid:代理服務器squid守護進程。
82.sshd:OpenSSH服務器守護進程。Secure Shell Protocol能夠實現安全地遠程管理主機。
83.smartd:Self Monitor Analysis and Reporting Technology System,監控你的硬盤是否出現故障。
84.syslog:一個讓系統引導時起動syslog和klogd系統日誌守候進程的腳本。
85.time :該守護進程從遠程主機獲取時間和日期,採用TCP協議。
86.time-udp: 該守護進程從遠程主機獲取時間和日期,採用UDP協議。
87.tux:在Linux內核中運行apache服務器的守護進程。
88.vsftpd:vsftpd服務器的守護進程。
89.vncserver: VNC (Virtual Network Computing,虛擬網絡計算),它提供了一種在本地系統上顯示遠程計算機整個"桌面"的輕量型協議。
90.xfs:X Window字型服務器守護進程,爲本地和遠程X服務器提供字型集。
91.xinetd:支持多種網絡服務的核心守護進程。
92.ypbind:爲NIS(網絡信息系統)客戶機激活ypbind服務進程 。
93.yppasswdd:NIS口令服務器守護進程。
94.ypserv:NIS主服務器守護進程。
95.yum:RPM操做系統自動升級和軟件包管理守護進程。
mysql

2、守護進程工做原理和方式
 在Client/Server模式下。服務器監聽(Listen)在一個特定的端口上等待客戶鏈接。鏈接成功後服務器和客戶端經過端口進行數據通訊。守護進程的工做就是打開一個端口,而且等待(Listen)進入鏈接。若是客戶端產生一個鏈接請求,守護進程就建立(Fork)一個子服務器響應這個鏈接,而主服務器繼續監聽其餘的服務請求。
linux

2.守護進程工做方式:
(1)運行獨立的守護進程
 獨立運行的守護進程由init腳本負責管理,全部獨立運行的守護進程的腳本在/etc/rc.d/init.d/目錄下。系統服務都是獨立運行的守護進程包括:syslogd和cron等。運行獨立的守護進程工做方式稱做:stand-alone。它Unix傳 統的C/S模式的訪問模式。服務器監聽(Listen)在一個特色的端口上等待客戶端的聯機。若是客戶端產生一個鏈接請求,守護進程就建立(Fork)一 個子服務器響應這個鏈接,而主服務器繼續監聽。以保持多個子服務器池等待下一個客戶端請求。stand-alone模式工做原理見圖1。
sql


 
          圖1 stand-alone工做模式
工做在stand-alone模式下的網絡服務有route、gated。另外是你們最熟悉是Web服務器:Apache和郵件服務器Sendmail、域名服務器Bind。由於這些負載很大服務器上,預先創子服務器,能夠經過客戶的服務速度。在Linux系統中經過stand-alone工做模式啓動的服務由/etc/rc.d/下面對應的運行級別當中的符號連接啓動。
shell

(2)xinetd模式
從守護進程的概念能夠看出,對於系統所要經過的每一種服務,都必須運行 一個監聽某個端口鏈接所發生的守護進程,這一般意味着資源浪費。爲了解決這個問題,Linux引進了「網絡守護進程服務程序」的概念。Redhat Linux 9.0使用的網絡守護進程是xinted(eXtended InterNET daemon)。和stand-alone模式相比xinted模式也稱 Internet Super-Server(超級服務器)。xinetd可以同時監聽多個指定的端口,在接受用戶請求時,他可以根據用戶請求的端口不一樣,啓動不一樣的網絡服 務進程來處理這些用戶請求。能夠把xinetd看作一個管理啓動服務的管理服務器,它決定把一個客戶請求交給那個程序處理,而後啓動相應的守護進程。 xinetd模式工做原理見圖3。
數據庫


 
           圖3  xinetd工做模式
和 stand-alone工做模式相比,系統不想要每個網絡服務進程都監聽其服務端口。運行單個xinetd就能夠同時監聽全部服務端口,這樣就下降了系 統開銷,保護系統資源。可是對於訪問量大、常常出現併發訪問時,xinetd想要頻繁啓動對應的網絡服務進程,反而會致使系統性能降低。察看系統爲 Linux服務提供那種模式方法在Linux命令行可使用pstree命令能夠看到兩種不一樣方式啓動的網絡服務。通常來講系統一些負載高的服 務:sendmail、Apache服務是單獨啓動的。而其餘服務類型均可以使用xinetd超級服務器管理。查看目前運行的守護進程可使用命 令:「pstree」
apache

3、守護進程管理工具
Linux提供了三種不一樣的守護進程管理工具:redhat-config-services、ntsysv、chkconfig,能夠根據具體須要靈活運用。
(1) redhat-config-services
 redhat-config-services 是一個一個圖形化應用程序,它顯示了每項服務的描述,以及每項服務是否在引導時啓動(運行級別三、四、5),並容許你啓動、中止、或從新啓動/etc /rc.d/init.d 中的哪些 SysV 服務,哪些 xinetd 服務。要從桌面啓動服務配置工具,點擊面板上的「主菜單」 => 「系統設置」 => 「服務器設置」 => 「服務」,或在 shell 提示下,鍵入命令:「redhat-config-services」 (見圖4)。 
安全


  
    圖4 redhat-config-services配置工具
 redhat- config-services列出了 /etc/rc.d/init.d 中的服務和由 xinetd 控制的服務。點擊左側列表中的服務名來顯示該服務的簡短描述以及它的服務狀態。若是這個服務不是 xinetd 服務,狀態窗口會顯示該服務目前是否在運行。若是該服務被 xinetd 所控制,狀態窗口會顯示「xinetd 服務」這個短語。要當即啓動、中止、或從新啓動某項服務,從列表中選擇該項服務,而後點擊工具欄上的相應按鈕(或從「行動」拉下菜單中選擇行動)。若是該 服務是一個 xinetd 服務,行動按鈕會被禁用,由於它們不能被單個地啓動或中止。 若是你經過選擇或取消選擇服務名旁的複選箱來啓用或禁用了 xinetd 服務,你必須從拉下菜單中選擇「文件」 => 「保存改變」來從新啓動 xinetd,並當即啓用或禁用你所改變的 xinetd 服務。xinetd 還被配置成自動記憶設置。你能夠同時啓用或禁用多個 xinetd 服務,在結束後再保存改變。
 (2)ntsysv
 ntsysv 工具爲激活或停運服務提供了簡單的界面。你可使用 ntsysv 來啓動或關閉由 xinetd 管理的服務。你還可使用 ntsysv 來配置運行級別。按照默認設置,只有當前運行級別會被配置。要配置不一樣的運行級別,使用 --level 選項來指定一個或多個運行級別。譬如,命令 ntsysv --level 345 配置運行級別三、四、和5。 ntsysv 的工做界面見圖1。使用上下箭頭來上下查看列表。使用空格鍵來選擇或取消選擇服務,或用來「按」「肯定」和「取消」按鈕。要在服務列表和「肯定」、「取 消」按鈕中切換,使用 [Tab]鍵。* 標明某服務被設爲啓動。[F1] 鍵會彈出每項服務的簡短描述。
(3)chkconfig
 chkconfig 命令也能夠用來激活和解除服務。chkconfig --list 命令顯示系統服務列表,以及這些服務在運行級別0到6中已被啓動(on)仍是中止(off)。chkconfig 還能用來設置某一服務在某一指定的運行級別內被啓動仍是被停運。譬如,要在運行級別三、四、5中停運 nfs 服務,使用下面的命令:
chkconfig --level 345 nfs off
 4、合理選擇守護進程規避安全隱患
 運行沒必要要或有漏洞的守護進程會給操做系統帶 來安全和性能上的影響。對於系統安全來講,若是操做系統中的任何一個漏洞,均可能使整個系統受到攻擊。因此,增長系統安全的最佳辦法就是儘可能監視系統的功 能。文章開始介紹了重要的守護進程,其中「crond、syslog、keytable、xinetd、kudzu、iptables」等是須要運行 的,echo、echo-udp、daytime、daytime-udp、chargen、chargen-udp主要是作調試用,普通用戶基本用不 到,能夠關閉。
 r字開頭的守護進程:rsh、rstatd、rsync、rusersd、 rwalld這些命令都是Berkley遠程命令,由於都以字母r開頭,故稱r*命令。主要使用來使一臺計算機上的某個用戶以相同的賬戶遠程執行另外一臺計 算機的一個程序。可是,r命令已經被證明存在安全風險。對於確實須要的守護進程,應該儘可能選用最新的版本程序,並增長其安全防範。 
 另外咱們還要合理選擇守護進程例如innd是運行新聞組服務的進程,若是用戶不作Usenet服務器,應該關掉。
 
總結:
 基於開放源代碼的Linux給用戶提供了這樣一個平臺:能夠根據本身的軟、硬件環境,定製本身的Linux守護進程。所以,根據每一個用戶不一樣的應用範圍定製應用環境,能夠將Linux系統的安全和性能提高到新的高度。
服務器

相關文章
相關標籤/搜索