b Unix-Like tΤAA|``ť daemon oӦrIOǻ daemon OHo daemon baHL\OHӦpҰʳo daemon HSpĪNo daemon zH~Anpo daemon }Fh֭ ports HSo ports npH٦٦AoAtΪo port UNOAȶܡH odzO̰¦ݭn`NOIרOb[]eAo̪[N㪺nFC |
ڭ̦bĤQCNgLyAȡzoFI ɪOy`nbO餤{ǡABiHѤ@ǨtΩκ\ANOAȡzCӪAȤ@몺^庑kOy service zC
pGA``Whdݤ@ǸƪܡAרO Unix-Like @~tΡAӱ``ݨyбҰʬYY daemon ӴѬYY\zAI daemon P service oH_hѬYǨtΩκ\H~Ao daemon OFrH daemon rWNNOyu@Bc]HzٯuOI_I^_^""I
²檺AtάFYǥ\ॲnѤ@ǪA (OtΥ٬O譱)AoӪAȴN٬ service C O service `Oݭn{B@aI_hpOHҥHFo service {ڭ̴N٩IL daemon oI |ҨӻAF`Ҧʤu@Ƶ{A (service) { crond o daemon աIo˻ezѤFaI
AhϤO daemon P service IƹWAAiHNo̵ۦPI]FYӪAȬOݭn@ daemon bIB@A So daemon N| service IҥHݭnӲMաI@ӻAڭ̥HrҦιϧμҦ (DH@Ҧ) }iJ Linux DA
tΤwgѧڭ̫ܦhAȤFI]ACLAȡBu@Ƶ{AȡBlzAȵF
oǪAȬOpQҰʪHL̪u@ApHUڭ̴Nӽͤ@oI
pG̾ daemon ҰʻPz觋ӰϤAWAiHN daemon iW߱Ұʪ stand alone A
PzL@ super daemon ӲΤ@zAȳojAo daemon pUG
NrWNӻAstand alone NOyWߪҰʡzNCo daemon iHۦҰʦӤzLLzF
daemon ҰʨøJON@ΰOPtθ귽C̤juINOG]O@sbO馎ѪAȡA
]oͥΤݪnDɡAstand alone daemon ^tC`
stand alone daemon WWW daemon (httpd)BFTP daemon (vsftpd) C
o@تAȪҰʤ觋hOǥѤ@ӲΤ@ daemon ӭtd_AȡIoӯS daemon NQ٬ super daemon C super daemon O inetd o@ӡAӫhQ xinetd ҨNFCoؾ쪺abA SΤݪnDɡAUAȳOҰʪpA즳ӦۥΤݪnDɡA super daemon ~۹ACΤݪnDAQoӪAȤ]|tθ귽C
oؾnBOG (1)ѩ super daemon tdUAȡA] super daemon
iH㦳wުANO𪺥\աI
(2)ѩAȦbΤݪsuNA]|@Ψtθ귽COIOOH
]Τݪsu~|ӪAȡAӸӪAȸJO骺ɶݭnҼ{ihA]AȪɶ|C@ǰաI
` super daemon ҺzAȨҦp telnet oӪNNOաI
pWҥܡASuper daemon O`nbO餤A Program 1, 2, 3 hOҰʬYǪAȪ{ (QҰʪA)CΤݪnDɡA
Super daemon ~|hIJo{J daemon ӦsbO餤AɡAΤݪnD~|Q Super daemon
ɦV Daemon 1 hFsuIΤݪnDɡADaemon 1 N|QAϤusuN|_oI
oرҰʪ觋@ӤnOHաIӥB٭nݸӥDu@tPڪγ~I ҦpADOΨӧ@ WWW AA httpd ۵MNH stand alone Ұʤ觋ΡIƹWAڭ̱``} stand alone P super daemon pAiHȦ檺fӧ@dҳI
t~Aݭn`NOAJMȦYoصfPɦsbAҥHoAb Linux tθ̭Ao daemon
Ұʤ觋]OiHPɦsbաI]NOAYǪAȥiHϥ stand alone ӱҰʡAӦǨLAȫhiHϥ
xinetd o super daemon ӺzAjPpNOo˰աIAGI
pGH daemon ѪAȪu@AӰϤASiHN daemon jAOOG
t~ApGA}o{ܦ쪺ܡAiHۦd\@Uy man 3 daemon zݬݨtι daemon ԲӻaI
^_^C
C@ӪAȪ}o̡Ab}oL̪AȮɡASOGưաILALצpAoǪAȪWٳQإߤAQW Linux ϥήɡAq`bAȪW٤|[W@ d AҦpҦʩROإߪ at, P cron oӪAȡA L{ɦW|Q atd P crondAo d NNO daemon NCҥHAbĤQCAڭ̨ϥΤF ps P top [{ǮɡA|o{ܦh {xxx}d {ǡAIq`NO@ daemon {oI
qĤQCPe@p`AȪAAӭnDOA tΩҦ\ೣOYǵ{ǩҴѪAӵ{ǫhOzLIJo{ӲͪCP˪AtδѪAȷM]Oo˪I uOѩoA TCP/IP AҥH㪺@ǴNOFC
Lں (Internet) BӪD IP oNAja IP NONADbںWyPXzC OAD`OiHѫD`hAȦӤ@\ӤwAڭ̶Ȧ@ IP OIΤݳsuLӧڭ̪DɡA ڭ̥DOp뤣PAȭnDOHNOzL (port number) աI²檺QALNOAaPWĴXhӡI o IP P port NOںsṷn@oCڭ̮U}ӻG
So{AӺ}OV ftp.isu.edu.tw oӸqujǪ FTP AOsWܪGoO@˪H OڡIoO]ڭ̫VPAȹI@ӬO http o WWW AȡA@ӫhO ftp oɮǿAȡAMܪGNPFC
ƹWAFΤ@ӺںAȪ\AnҦDϥάۦPӴѪAȻPnDAȡA ҥHNFyqTwzoNC]NOAǬwUAȳmbP@ӰWաI|ҨӻA }CW http |sV WWW A 80 isunDI WWW A]|N httpd oӳnҰʦb port 80A o˨̤~FsuI
IQ@QAtΤWS]wiHAȻPb@_OHNO /etc/services աI
[root@www ~]# cat /etc/services ....(eٲ).... ftp 21/tcp ftp 21/udp fsp fspd ssh 22/tcp # SSH Remote Login Protocol ssh 22/udp # SSH Remote Login Protocol ....(ٲ).... http 80/tcp www www-http # WorldWideWeb HTTP http 80/udp www www-http # HyperText Transfer Protocol ....(Uٲ).... # oɮתeOHU觋ӽsƪG # <daemon name> <port/ʥ]w> <ӪAȪ> |
WOAĤ@欰 daemon W١BĤG欰 daemon ҨϥΪPƫʥ]wA ʥ]wDniasu TCP ʥ]HθֳtDsuɦV UDP ʥ]C |ӨҤlAӻݳsuϥΪO ssh oӪAȡAӳoӪAȪϥΪ 22 INOo˰ڡI
ЯSO`NIMɭԧAiHǥѭק /etc/services ӧ@ӪAȪALäijpA ]ܦi|y@Ǩw~pIo̯S@fI(DAn[]@ӦaUA_hܡAϥ /etc/services ]wNnաI)ѬYӪAȪ daemon MuO@{ӤwAOo daemon Ұ٬OݭnɡB]wɡBҵA |ҨӻAAiHd\@U httpd oӵ{ (man httpd) A̭iͨ줣֪ﶵPѼƩOI~AFzWKA ҥHq` distribution |OC@ daemon ҰʫҨo{Ǫ PID b /var/run/ oӥؿUOI ٦٦AbҰʳoǪAȤeAAi]nۦBz@U daemon Q檺ҬO_TCo̭nOA nҰʤ@ daemon Ҽ{ƱܦhAëD°@{NFC
FѨMWͨ쪺DA]q` distribution |ڭ̤@²檺 shell script ӶiҰʪ\C script iHiҪB]wɪRBPID ɮתmAHάn洫ɮת (lock) ʧ@A Aun script AWzʧ@N@fsiA̲״NQB²檺Ұʳo daemon oI o]Oڭ̷|ƱAiHԲӪs@UĤQT]ڡC
OKIo daemon Ұʸ} (shell script) b̰ڡH٦A CentOS 5.x q`N daemon ɮשb̡H HάYǭn]wɤSOm̡HWOboǦaG
Wͨ쪺O]wɡA stand alone P super daemon ҺzAȱҰʤ觋@OHLOo˰G
ͨFXGtΤWҦAȪҰʸ}b /etc/init.d/ UAo̭}|hҡBjM]wɡB J distribution Ѫƥ\BP_ҬO_iHB@ daemon A@BTwiHB@A AH shell script case....esac ykӱҰʡBB [ daemon Iڭ̥iH²檺H /etc/init.d/syslog oӵnɱҰʸ}Ӷi满G
[root@www ~]# /etc/init.d/syslog Ϊk: /etc/init.d/syslog {start|stop|status|restart|condrestart} # ѼƳ[ɭԡAtη|iDAiHΪѼƦǡApWҥܡC dҤ@G[ syslog o daemon ثeA [root@www ~]# /etc/init.d/syslog status syslogd (pid 4264) b... klogd (pid 4267) b... # N syslog z daemon Ao daemon bB@աI dҤGGs syslog Ū@]w [root@www ~]# /etc/init.d/syslog restart b֤߰O: [ Tw ] btΰO: [ Tw ] bҰʨtΰO: [ Tw ] bҰʮ֤߰O: [ Tw ] [root@www ~]# /etc/init.d/syslog status syslogd (pid 4793) b... klogd (pid 4796) b... # ]sҰʹLAҥH PID PĤ@[ȴN@ˤFIoAѥGH |
ѩtΪҳwgAs@AҥHQ /etc/init.d/* ӱҰʡBP[AND`²IpA CentOS ٬Oѥt~@iHҰ stand alone AȪ}ANO service oӵ{C service ȬO@ script աALiHRAUF service ᭱ѼơAMھڧAѼƦA /etc/init.d/ hoTAȨ start stop ILykOo˪աG
[root@www ~]# service [service name] (start|stop|restart|...) [root@www ~]# service --status-all ﶵPѼơG service nameGYOݭnҰʪAȦW١AݻP /etc/init.d/ F start|... GYOӪAȭni檺u@C --status-allGNtΩҦ stand alone AȪAqqCX dҤTGsҰ crond o daemon G [root@www ~]# service crond restart [root@www ~]# /etc/init.d/crond restart # oؤkHKAέ@بӳBziHILwϥ /etc/init.d/* dҥ|GܥXثetΤWҦAȪB@A [root@www ~]# service --status-all acpid (pid 4536) b... anacron w atd (pid 4694) b... ....(Uٲ).... |
o˴NN@AȪB@ACXAA]iHھڳoӿXGӬdߧAYǪAȬO_TB@FڡI^_^I AbWdҷAҰʤ觋H service oӵ{AΪ̪h /etc/init.d/ UҰʡA@˰աIۦhѪR /sbin/service NDԣFI ^_^
ƹWAb Linux tΤAny}Y port zANOݭny ҰʩYӪAȡzաI]AAiHXY port AȡA{AȡA iӱҰʩLAӸgѸӪAȦӱҰʪ port A۵MN|FISuper daemon ]O@ stand alone AȡA 1.1.1 NDաI] super daemon nzLAȹALMۤvn`nbO餤աIҥH Super daemon ۤvҰʪ觋P stand alone OۦPI OLҺzL daemon NOo˰oInb]wɤ]wҰʸ daemon ~C]wɴNO /etc/xinetd.d/* ҦɮסCpo super daemon ҺzAȬO_ҰʩOHAiHo˰G
[root@www ~]# grep -i 'disable' /etc/xinetd.d/* ....(eٲ).... /etc/xinetd.d/rsync: disable = yes /etc/xinetd.d/tcpmux-server: disable = yes /etc/xinetd.d/time-dgram: disable = yes /etc/xinetd.d/time-stream: disable = yes |
] disable OyzNA]pGy disable = yes zhNAȪҰʡApGOy disable = no z ~OҰʸӪAȰաI]ڷQnҰʦpW rsync oӪAȡAAiHo˰G
# 1. ק]wɦҰʪҼˡG [root@www ~]# vim /etc/xinetd.d/rsync # бN disable @令pUҼ (쥻O yes 令 no NF) service rsync { disable = no ....(᭱ٲ).... # 2. sҰ xinetd oӪA [root@www ~]# /etc/init.d/xinetd restart b xinetd: [ Tw ] bҰ xinetd: [ Tw ] # 3. [Ұʪf [root@www ~]# grep 'rsync' /etc/services <==ݬݰfO@ rsync 873/tcp # rsync rsync 873/udp # rsync [root@www ~]# netstat -tnlp | grep 873 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 4925/xinetd # `NݡIҰʪAȨëD rsync IӬO xinetd A]Ln rsync I # YðݡA@wnhݬݹ 1.1.1 ~I |
]NOAAק /etc/xinetd.d/ U]wɡAMAsҰ xinetd NFI xinetd O@ stand alone ҰʪAȡIoonSOdNOI
e@p`ͨ쪺 super daemon ڭ̲{bDLO@`{ǡAo super daemon O xinetd o@{ǩҹFC ӥB 1.1.1 ڭ̪Do xinetd iHiwʩΪ̬OLzޡA 1.1.2 hiHA xinetd ]su欰CoDZqiHڭ̪YǪAȧwA 귽zXzCӥѩ super daemon iH@o˪zA]@ǹΤݶ}hvA (Ҧp telnet)A Ϊ̥㦳zΨAȡANiHzL xinetd ӺzڡI
JMoåonAUڭ̴Nӽͽ xinetd oӪAȪw]]w /etc/xinetd.conf AHΦUӳ]wتNqoI
Ӭݤ@ݹw] /etc/xinetd.conf oɮתeOaI
[root@www ~]# vim /etc/xinetd.conf defaults { # AȱҰʦ\ΥѡAHάnJ欰O log_type = SYSLOG daemon info <==nɪOA log_on_failure = HOST <==oͿ~ɻݭnOTD (HOST) log_on_success = PID HOST DURATION EXIT <==\ҰʩεnJɪOT # \έsuw] cps = 50 10 <==P@̤jsuƬ 50 ӡAYWLhȰ 10 instances = 50 <==P@AȪ̤jPɳsu per_source = 10 <==P@ӷΤݪ̤jsu # (network) w] v6only = no <==O_Ȥ\ IPv6 HiHȮɤҰ IPv6 䴩I # ҰѼƪ]w groups = yes umask = 002 } includedir /etc/xinetd.d <==h]wȦb /etc/xinetd.d ӥؿ |
/etc/xinetd.conf iH٬w]Ȫ]wɩOH]pGAҰʬY super daemon zAȡA OӪAȪ]wȨèSwWzǶءAӪAȪ]wȴNHWzw]ȬDI ܩWzw]ȷ|N super daemon zAȳ]wGy@ӪAȳ̦hiH 50 ӦPɳsuA Co_usvsu̦hȯ 50 AYWL 50 hӪAȷ|Ȱ 10 CP@ӨӷΤ̦hȯF 10 suC ӵnJ\PѩҰOTäۦPCzo˻AiHMFaH ^_^ ܩhѼƻAڭ̷|bUAjժI
JMouOӹw]ѼɡA۵MhAȰѼɮoSөҦAȰѼɳb /etc/xinetd.d ̭AoO]W̫@ڡIoAFaI ^_^CCӰѼɮתeO˩OH@ӻALOo˪G
service <service_name> { <attribute> <assign_op> <value> <value> ... ............. } |
Ĥ@@w service Aܩ <service_name> ̭eAhP /etc/services A]LiHӵ /etc/services AȦWٻPӨMwҭnҥΪ port OӰڡI MѼƴNbӤjCattribute O@ xinetd zѼơA assign_op hOѼƪ]wkC assign_op Dn]wΦG
= G ܫ᭱]wѼƴNOo˰աI
+= G ܫ᭱]wybӪ]wY[JsѼơz
-= G ܫ᭱]wybӪѼƱ˱o̿JѼơIz
γ~ӬۦPAqЯdNInFIUAӻ@ attribute P value I
attribute (\) | Pd |
@]wءGAȪѧOBҰʻP{ | |
disable (ҰʻP_) |
|
id (AѧO) |
|
server ({ɦW) |
|
server_args ({Ѽ) |
|
user (AȩUID) |
|
group | user NۦPIضJsզW٧YiC |
@]wءGsu觋Psuʥ]w | |
socket_type (ʥ]) |
|
protocol (ʥ]) |
|
wait (su) |
|
instances (̤jsu) |
|
per_source (@Τӷ) |
|
cps (ssu) |
|
@]wءGnɪO | |
log_type (n) |
|
log_on_success log_on_failure (nA) |
|
i]wءGҡBfPsu | |
env (B~ܼƳ]w) |
|
port (DW) |
|
redirect (A}) |
|
includedir (Is~]w) |
|
wءG | |
bind (AȤw) |
|
interface |
|
only_from () |
|
no_access () |
|
access_times (ɶ) |
|
umask |
|
OKIڭ̴NQΤWoǰѼƨӬ[cXڭ̩һݭn@ǪAȪ]waIѦҬݬݩU]wkoI ^_^
ڭ̪DzL super daemon ުAȥiHh@hzӹF𪺾A ӦpJӪ]wo]wѼƩOHUڭ̨ϥ rsync oӥiHi卤g (mirror) AȨӻC rsync iHⳡDWYӥؿ@Ҥ@ˡAbݲaƴtΤWOnΪ@ӾC ӥBw]@˦n CentOS NwgsboNFIN@@w] rsync ]wɧaI
[root@www ~]# vim /etc/xinetd.d/rsync service rsync <==AȦW٬ rsync { disable = no <==w]OIQڭ̥}F socket_type = stream <==ϥ TCP suG wait = no <==iHPɶijqsu\ user = root <==ҰʪAȬ root oӨ server = /usr/bin/rsync <==NOo{Ұ rsync Ao server_args = --daemon <==oOnﶵڡI log_on_failure += USERID <==nJ~ɡAB~OϥΪ ID } |
णק user LOHѩb /etc/services Ww rsync ϥΪfX 873 AoӰfp 1024 AҥHzפWҰʳoӰf@wnO root ~Io user NбzOçoI ѩեDbwˮɤwgdAثeӤA@ӬO 192.168.1.100 A@ӫhO 127.0.0.1A ]ڱN 192.168.1.100 ]p~A 127.0.0.1 AB~쪺Ov]wG
bo˪WpUAڭ̥iHNWY /etc/xinetd.d/rsync oɮק令G
[root@www ~]# vim /etc/xinetd.d/rsync # w鷺Pӳ]wG service rsync { disable = no <==nҰʤ~ڡI bind = 127.0.0.1 <==AȸjboӤWI only_from = 127.0.0.0/8 <==u}oӺ쪺ӷnJ no_access = 127.0.0.{100,200} <==oӤinJ instances = UNLIMITED <==N /etc/xinetd.conf ]w socket_type = stream <==U]whOd wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID } # Aw~suӶi歭OI service rsync { disable = no bind = 192.168.1.100 only_from = 140.116.0.0/16 only_from += .edu.tw <==]֥[AҥHQ += ]w access_times = 01:00-9:00 20:00-23:59 <==ɶɬqAŮj} instances = 10 <==u 10 su socket_type = stream wait = no user = root server = /usr/bin/rsync server_args = --daemon log_on_failure += USERID } |
bWoӳ]wɤA@gFq service rsync ]wA@qw鷺@qw~A pG]pANLsҰʫAN|X{pUAI
# 0. ݬݭ쥻 873 AI [root@www ~]# netstat -tnlp | grep 873 tcp 0 0 0.0.0.0:873 0.0.0.0:* LISTEN 4925/xinetd # JӬݡAȰw 0.0.0.0 oӥťӤwI # 1. sҰ xinetd aIOҰ rsync IOdC [root@www ~]# /etc/init.d/xinetd restart [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 # SݨӤڡӥBA PID |OP@өOI |
pPW]wAڭ̴NiHNYӨtΪAȰw藍PΤݨӷwPϥvIoˤltΪAȥiHwhFI pGӧAYǪAȷQnϥγoөNNӳ]w]O OK Ih]wƴNݱzۤvzѤFC
@ӻAtΪRDniHzLʥ]LoΪ̬OzLnRAڭ̪ Linux w]Ѥ@ӳnRuA
NO /etc/hosts.deny, /etc/hosts.allow oӥiR]wɡIt~ApGw tcp wrappers MɡA
ڭ̬ƦܥiH[W@B~lܥ\OIUNڭ̤OӽͽͳoǪNaI
ڭ̦beXDFnި at ϥΥiHzLq /etc/at.{allow|deny} ӺzAܩ crontab hOϥ /etc/cron.{allow|deny} ӺzCSkzLӤANzYǵ{ϥΩOH NIzYǵ{O_Ϊ̬OڵӦۺںsuNաIINO /etc/hosts.{allow|deny} oC
H xinetd zAȡAiHzL /etc/hosts.allow, /etc/hosts.deny ӳ]wCOOH²檺ANOwӷ IP κi椹\Ωڵ]wA HMwӳsuO_\Fs@ؤ觋NOFCڭ̭ק /etc/xinetd.d/rsync Y no_access, only_from ]iHio譱]wCLAϥ /etc/hosts.allow, /etc/hosts.deny heޡAb]wPdߤ譱]KI Nڭ̽ͽͳoɮת]wޥaI
/etc/hosts.allow P /etc/hosts.deny ]O /usr/sbin/tcpd ]wɡAӳo /usr/sbin/tcpd hOΨӤRiJtΪ TCP ʥ]@ӳnATCP O@سsuɦVsuʥ]A]A www, email, ftp Oϥ TCP ʥ]ӹFsuC ҥHoAUWqAoӮM\NObR TCP ƫʥ]աI TCP ʥ]YDnOFӷPإD IP P port A]ǥѤR TCP ʥ]÷ft /etc/hosts.{allow,deny} WhANiHMwӳsuO_iJڭ̪DաC ҥHաAڭ̭nϥ TCP Wrappers ӱުNOG
Wun@ӪAȨ xinetd zAΪ̬OӪAȪ{䴩 TCP Wrappers 祃\ɡAӪAȪ譱]wNH /etc/hosts.{allow,deny} ӳBzoCӤ觋ӻAun䴩 TCP Wrappers 祃\n{NLkϥ /etc/hosts.{allow,deny} ]wȰաAo˻ASMڡCLAnpo@ӪAȪ{S䴩 TCP Wrappers OAAiHo²檺BzC
dҤ@Gդ@UF sshd httpd oӵ{L䴩 TCP Wrappers \ [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) ....(Uٲ).... # Ibn驰S䴩 libwrap.so Ө祃wo |
ldd (library dependency discovery) oӫOiHd߬Yӵ{ʺA祃w䴩AA]zLo
ldd ڭ̥iHPNdߨ sshd, httpd L䴩 tcp wrappers
ҴѪ libwrap.so oӨ祃wɮסCqWXڭ̥iHo{A sshd 䴩O httpd hS䴩C]ڭ̪D sshd
iHϥ /etc/hosts.{allow,deny} i𪺩AO httpd hS\I
oɮת]wykO@˪AWAݰ_ӹoˡG
<service(program_name)> : <IP, domain, hostname> : <action>
<A (Y{W)> : <IP λ ΥDW> : < ʧ@ >
# WY < > Osb]wɤI
|
IOӡAĤ@ӬOXAQnzӵ{ɦWAĤGӤ~OgUӧAQnΪ̬Oת IP κOC {ɦWnpgOHNOgUɦWաI|ҨӻWڭ̽ͨL rsync ]wɤO server ѼƶܡH rsync ]wɤ /usr/bin/rsync ѼƭȡAbڭ̳o̴Nong rsync YiI̾ rsync ]wɸơAڭ̱Nת 127.0.0.100, 127.0.0.200, Ω檺 140.116.0.0/16 gbo̡AeIoˡG
IP, , q, ٦ѡAboӰ¦gڭ̤|ͨAAunOoUg 140.116.0.0/255.255.0.0 N@ӺNOFCԲӪƽХۦѦA[]geI[root@www ~]# vim /etc/hosts.deny rsync : 127.0.0.100 127.0.0.200 : deny |
M]iHgAYOG
[root@www ~]# vim /etc/hosts.deny rsync : 127.0.0.100 : deny rsync : 127.0.0.200 : deny |
oˤ@ӡANLkH rsync iJADաIKaILAJMpAn]w /etc/hosts.allow /etc/hosts.deny ɮשOHun@ɮצsbNFA LAF]wK_Aڭ̦sbɮסA𫟺ݭn`NOG
]NOA /etc/hosts.allow ]wu /etc/hosts.deny oIWAun hosts.allow ]NFA]ڭ̥iHN allow P deny gbP@ɮפAuOoˤ@ӦGoIõLA]Aq`ڭ̳OG
~Aڭ٥iHϥΤ@ǯSѼƦbĤ@βĤGIeG
Ajդ@A service_name OҰʸӪAȪ{A|ҨӻA /etc/init.d/sshd o script ̭A ڤWҰ ssh AȪO sshd oӵ{AҥHAA service_name ۵MNO sshd oI /etc/xinetd.d/telnet (AtΥi|w) server ]wءA Ӷث in.telnetd oӵ{ӱҰʪIn`NܡI(ФOϥ vi io scripts d\) nFAڭ٬OH rsync ҤlӻnFA{b]@Ӥwy{ӳ]wANOG
[root@www ~]# vim /etc/hosts.allow rsync: 140.116.0.0/255.255.0.0 rsync: 203.71.39.0/255.255.255.0 rsync: 203.71.38.123 rsync: LOCAL [root@www ~]# vim /etc/hosts.deny rsync: ALL <==Q ALL ]wҦLӷinJ |
Sw]wHҦpALH˧ڪ rsync port ɡAڴNNL IP OAHӪdP{ҤΩOH OIuOANonB~ʧ@Ѽƥ[bĤTFAӥBAݭnwˤF TCP Wrappers n~CnTwSw TCP Wrappers iHϥΡy rpm -q tcp_wrappers zӬd߳Cܩ[ӳDnʧ@hG
FFlܨӷؼЪTتAɧڭ̻ݭn safe_finger oӫOU~CӥBڭ٧ƱΤݪoӴcN̯QĵiC Ӭy{iHOo˪G
ѩOתA]ڭ̳o spawn P twist ʧ@jhOgb /etc/hosts.deny ɮפCڭ̱NWzʧ@gpUFFG
[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" ) |
WOw@ rsync ҼgTAAiHݨWo|@Tӫ_ӹj}|өNNAo|өNNNqOG
bWҤlAĤT檺 root ӱbAiHgAӤHbΪ̨L e-mail Ao˴NHA`Ϊ email oA oˤ]nzoCp@ӡAg\qյnJADɡA𫍧ùWN|ܤW̫@AåBNL IP H root ( Ϊ̬OAۤvHc )̥hI
nFA{b]AwgDF daemons ҰɮשmؿA]DFAȻP port
AnpdߥثetΤWwgҰʤFAȩOHnAVFIwgǹLF
ps P top
ӭn|Τ~CISAiHϥ ps P top ӧMwgҰʤFAȪ{ǻPL
PID OILAڭ̫DӪAȱҰʪ port O@ӡHInDIiHϥ
netstat oӺA[Oˬdڭ̪
port OIƦܥL]iHڭ̧ port {ǩO (PID)IoӫOγ~Aڭ̦b
ĤQC{ǺzwgLFAMܽЦ^hd@do̶ȤЦpϥγ
[tΤwҰʪAȤ觋ܦhALAڭ̳̱`ϥ netstat [CWAH ps [ӨtΤWAȬOA]LiHN process XӡCLAڭ̤ߪ٬ObҰʺťAȰڡA ҥH|wϥ netstat Ӭd\աC
dҤ@GXثetζ}ҪyAȡzǡH [root@www ~]# netstat -tulp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 www.vbird.tsai:2208 *:* LISTEN 4575/hpiod tcp 0 0 *:737 *:* LISTEN 4371/rpc.statd tcp 0 0 *:sunrpc *:* LISTEN 4336/portmap tcp 0 0 www.vbird.tsai:ipp *:* LISTEN 4606/cupsd tcp 0 0 www.vbird.tsai:smtp *:* LISTEN 4638/sendmail: acce tcp 0 0 *:ssh *:* LISTEN 4595/sshd udp 0 0 *:filenet-tms *:* 4755/avahi-daemon: ....(Uٲ).... # ݤ@UWYA Local Address a|X{DWٻPAȦW٪AnOoOA # iH[W -n port number AӪAȦWٻP port hb /etc/services dҤGGXҦťA (]t socket A)G [root@www ~]# netstat -lnp Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 4575/hpiod ....(ٲ).... Active UNIX domain sockets (only servers) Proto RefCnt Flags Type State I-Node PID/Program name Path ....(ٲ).... unix 2 [ ACC ] STREAM LISTENING 10624 4701/xfs /tmp/.font-unix/fs7100 unix 2 [ ACC ] STREAM LISTENING 12824 5015/Xorg /tmp/.X11-unix/X0 unix 2 [ ACC ] STREAM LISTENING 12770 4932/gdm-binary /tmp/.gdm_socket ....(HUٲ).... # JӪ@@@ڡAF즳ť port ~Aٷ| socket ܦbWA # ڭ̥iHMDǪAȳQҰʩOI dҤTG[ҦAȪA [root@www ~]# service --status-all # oӫOIeLoOAۦdoI |
Q netstat iHoܦhAȸTAzLoӫOAڭ̥iHAѨAA åBiHzL PID P kill \ANDƵL篑 MաAnԲӪo PPID ܡA~צD{ǰաI
t~AFwgsbtη daemon ~Apb@}N㪺Ұʧڭ̩һݭnAȩOH Uڭ̴Nӽͤ@ chkconfig ntsysv oӦnΪFI
NpPW쪺Aڭ̨ϥ netstat ȯ[ثewgҰʪ daemon Aϥ service oӫOΪ̬Oy /etc/init.d/* start zkhȯbثeҤUߧYҰʬYӪAȦӤwC s}OHӪAȬO_٬O~۰ʱҰʡHoӮɭԧڭ̴NonFѤ@UA쩳ڪ Linux DO}OH
h}y{ԲӻAڭ̷|bĤGQɦAӸjaC ѤWy{AiHݨtΪAȦb}ɴNiHQҰʪaObĤӨBJAӨƹWĤӨBJNOHP浥ũIsPAȰաI s浥ũOH
ڭ̦bҰ Linux tήɡAiHiJPҦAoҦڭ̺٬浥 (run level)CP浥ŦP\PAȡA
ثeAD`浥ŦӡA@ӬO㦳 X run level 5 At@ӫhO¤r run level 3C
ѩw]ڭ̬OHϧΤnJtΪA]iHQo쪺OAڭӬOb run level 5 ҤաI
AD run level 5 ǪAȹw]iHҰʩOHoNonϥίSOӬd߰ڡI
[root@www ~]# chkconfig --list [AȦW] [root@www ~]# chkconfig [--level [0123456]] [AȦW] [on|off] ﶵPѼơG --list GȱNثeUAȪACX --levelG]wYӪAȦb level UҰ (on) (off) dҤ@GCXثetΤWҦQ chkconfig zA [root@www ~]# chkconfig --list |more NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off acpid 0:off 1:off 2:off 3:on 4:on 5:on 6:off ....(ٲ).... yum-updatesd 0:off 1:off 2:on 3:on 4:on 5:on 6:off xinetd based services: <==U super daemon ҺzA chargen-dgram: off chargen-stream: off ....(Uٲ).... # AiHo{W榳Ӱ϶A@Ө㦳 1, 2, 3 ƦrA@ӫhQ xinetd # zCSIqo̧ڭ̴No{AȦ stand alone P super daemon C dҤGGܥXثeb run level 3 ҰʪA [root@www ~]# chkconfig --list | grep '3:on' dҤTG atd oӪAȦb run level 3, 4, 5 ɱҰʡG [root@www ~]# chkconfig --level 345 atd on |
@I chkconfig O_ܮezڭ̩һݭnAȩOHuܤKա AiHPzL chkconfig Ӻz super daemon AȳIt~AAonDOA chkconfig ȬO]w}ɹw]|ҰʪAȦӤwA ҥHӪAȥثeApODCڭ|өUҤlӻnFG
dҥ|G[ httpd AA[w]LҰʡAH chkconfig ]ww]Ұ [root@www ~]# /etc/init.d/httpd status httpd w <==ڥNSҰ [root@www ~]# chkconfig --list httpd httpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off # ]Ow]èSҰʰڡI [root@www ~]# chkconfig httpd on; chkconfig --list httpd httpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off # wg]wy}w]ҰʡzFAA[ݬݨ쩳ӪAȱҰʨSH [root@www ~]# /etc/init.d/httpd status httpd w # IM٬OSҰʳI|o˰ڡH |
Wdҥ|èSҰ httpd ]²A]ڭ̨èSϥ /etc/init.d/httpd start Iڭ̶ȬO]w}ɱҰʦӤwڡIڭ̤SSs}AҥHMϥ chkconfig ä|ɭPӪAȥߧYQҰʡI]|ӪAȥߧYQAӬOub}ɤ~|QJΨJӤwCӬJM chkconfig iH]w}O_ҰʡAڭ̯णΨӺz super daemon ҰʻPOHD`nIڭ̴NӸլݬݩUרҡG
dҤGd\ rsync O_ҰʡAYnNӦpBzH [root@www ~]# /etc/init.d/rsync status -bash: /etc/init.d/rsync: No such file or directory # rsync O super daemon zAҥHMiHϥ stand alone Ұʤ觋[ [root@www ~]# netstat -tlup | grep rsync tcp 0 0 192.168.201.110:rsync *:* LISTEN 4618/xinetd tcp 0 0 www.vbird.tsai:rsync *:* LISTEN 4618/xinetd [root@www ~]# chkconfig --list rsync rsync on <==w]ҰʩOINBzw]Ұʧa [root@www ~]# chkconfig rsync off; chkconfig --list rsync rsync off <==ݧaIFI{bӳBz@U super daemon FFI [root@www ~]# /etc/init.d/xinetd restart; netstat -tlup | grep rsync |
̫@ӫOA|o{쥻 rsync FIoˬO_ܻNҰʻPA super daemon zAȩOI
WA chkconfig uwgܦnΤFALAڭ̪ CentOS ٦Ѥ@ӧΪA NO ntsysv FI`NA chkconfig ܦh distributions sbAO ntsysv hO Red Hat tίSI
[root@www ~]# ntsysv [--level <levels>] ﶵPѼơG --level G᭱iHP run level AҦp ntsysv --level 35 |
@ڭ̳OJ ntsysv YiiJzeFAӵepUϩҥܡG
WϤOCӪAȹw]}O_|Ұʪ]wȡAYAX{P (*) Nw]}|ҰʡA_hNO|b}ɱҰʰաC AiHϥΤWUӲʤAШAQnܧӪAȤWYAMUťNΨoCpG@ܧA AiHϥ [tab] ӲʴШ [OK] [Cancel] sWAMաAU [Ok] NOT{A|ͮoC `@UWzs\G
WϬONдʨ atd oӪAȤWYAAU [F1] ҥX{GAҥHoAAiHzL ntsysv h[w]}ҰʪAȡA
ٯd\ӪAȪ\ରAo˴NyLM@UӪAȬO_ݭnsboIo˲zѤFaI
[root@www ~]# chkconfig [--add|--del] [AȦW] ﶵPѼơG --add GW[@ӪAȦWٵ chkconfig ӺzAӪAȦW٥b /etc/init.d/ --del GR@ӵ chkconfig zA |
{bAD chkconfig P ntsysv OunΪFApGڦۤvgF@ӵ{åBQnӵ{tΪAȦn chkconfig ӺzɡA iHiOHunNӪAȥ[J init iHz script AYO /etc/init.d/ YiC |ӨҤlAڭ̦b /etc/init.d/ ̭إߤ@ myvbird ɮסAɮȬO@²檺AȽdҡAWASγ~.... ɮתʬOo˪G
ҿתDAڭ̷|bGQСAo̧AݬݧYiC AӦpiOHiHo˰G
[root@www ~]# vim /etc/init.d/myvbird #!/bin/bash # chkconfig: 35 80 70 # description: SԣIuOΨӧ@mߤΪ@ӽd echo "Nothing" |
oɮܦnIAiHѦҧAۤvtΤWɮסFWAnOĤGALykOG y chkconfig: [runlevels] [Ұʶ] [] z𫟺A runlevels P run level AAҰʶ (start number) P (stop number) hOb /etc/rc.d/rc[35].d إߥH S80myvbird K70myvbird ɦW]w觋I
[root@www ~]# chkconfig --list myvbird service myvbird supports chkconfig, but is not referenced in any runlevel (run 'chkconfig --add myvbird') # |[J chkconfig zIҥHݭnAI} [root@www ~]# chkconfig --add myvbird; chkconfig --list myvbird myvbird 0:off 1:off 2:off 3:on 4:off 5:on 6:off # ݧaI[JF chkconfig zFI # ܦaIpGnNoǸƳRܡANUFo˪pG [root@www ~]# chkconfig --del myvbird [root@www ~]# rm /etc/init.d/myvbird |
chkconfig uOӤΪuaIרOAQnۤvإߦۤvAȮɡI ^_^
H Linux Wn䴩ʶVӶVhA[Wۥѳn𫜮koiAڭ̥iHb Linux WΪ daemons uVӶVhFCҥHAQngҦ daemons дXGOiA]Ao̶ȤдXӫܱ` daemons ӤwA hTOANon·ЧAۤvϥ ntsysv Ϊ̬O vi /etc/init.d/* ̭ɮץh@@@o ^_^I UijDnOw Linux AӻAOWҳI
CentOS 5.x w]ҰʪAȤe | |
AȦW | \² |
acpid | (t)iqzAoO@ӷsqzҲաA iHťӦۮ֤hqƥӤH^C CentOS ]wɦb /etc/acpi/events/power.conf Aw]ȦAU power sɡAtη|۰I(1) |
anacron (i) | (t)P`u@Ƶ{ cron AibƵ{L٥iH~A ]wɦb /etc/anacrontabCԱаѦĤQC |
apmd (i) | (t)]wɦb /etc/sysconfig/apmd A]OqzҲհաI iqqqAqqOɡAiH۰HO@qDC |
atd | (t)@Ҧʤu@Ƶ{AԲӻаѦĤQC ]wɦb /etc/at.{allow,deny} I |
auditd | (t)ٰOoe@ SELinux һݪAaH oNO𫟺@AiHtλ SELinux ]֪TgJ /var/log/audit/audit.log CYAȨSҰʡAhT|ǵ syslog zC |
autofs (i) | (t)iΨӦ۰ʱӦۺWLAҴѪϺо (@O NFS)C Lڭ̬OtΡAҥHثe٨SnoӪAȡC |
avahi-daemon (i) | (t)]O@ӥΤݪAȡAiHzL Zeroconf ۰ʪRPzC Zeroconf `ΦbOqPʸ˸mWAҥHڭ̥iHLաI(2) |
bluetooth (i) | (t)ΦbŪ˸mjMWApG Linux O@AϥήɡA oӪAȥiHȮ]SYI |
cpuspeed | (t)iHΨӺz CPU Wv\CYtζmɡA\iH۰ʪC CPU WvӸ`ٹqqPC CPU ū׳I |
crond | (t)tγ]wɬ /etc/crontabAԲӸƥiѦĤQC |
cups (i) | ()ΨӺzLAȡAiHѺsu\AICLA\I AiHb Linux WHs https://#:631 ӺzLIѩڭ̥ثeSLAҥHiHȮLC |
firstboot (i) | (t)ٰOotβĤ@iJϧΤٻݭni@B~]wܡH NOoӪAȪաIJMwgw˧A{bAiHNoӪAoC |
gpm | (t)b tty1~tty6 ҤUAMiHϥηƹ\ӽƻsKWANOo gpm ѪOաI |
haldaemon (i) | (t)q`ΦbWqҤAi usb ˸mOI LApGOAҡAoӪAȭˬOiHաIpGOWqA̦niHҰoI(3) |
hidd (i) | (t)]OŪުAȪ\աIiHLBƹŪ˸mI ft bluetoothCAҭˬOݭnAȡC |
hplip (i) | (t)DnOw HP L\Ҷ}o}AȡApGAҤèS HP ]ơAoӪAȴNLaI |
ip6tables (i) | ()Ow糧\IoӨDnOw IPv6 A pGAҨèS IPv6 ]ơAoӪAȬOiHC |
iptables | ()\AO֤ߤ䴩OIҥH\PįೣD`ΡIMڡI uO]wWNonVOsաIڭ̷|bAgкTC |
irqbalance | (t)pGAtάOh֤ߪwAoӪAȭnҰʡA ]iH۰ʪttΤ_ (IRQ) w귽C |
isdn (i) | ()ISDN O@ؼeW] (ƾھ@) AObxWڭ̤`ϥ ADSL Υֳ]ơA ҥHoӪAȬOiHաC |
kudzu (i) | (t)pGAW[swɡAoӪAȥiHb}ɦ۰ʪwA åB|۰ʪIs]wnAKAb}ɴNBznAwڡI |
lm_sensors (i) | (t)oӪAȥiHADOA|ҨӻA YǥDO|Dʪ CPU ūסBWvBqAo lm_sensors NoǷūסBWvƾܥXӳI ڭ̷|bĤGQ@ͳoNC |
lvm2-monitor | (t)ڭ̤wgL LVM oIҥHڭ̷MnҰʳoӪAȤC |
mcstrans | (t)P SELinux AȡA̦n]ҰʰڡI |
mdmonitor (i) | (t)iHҦn骺AAȮɦG]ݭnҰʳoӪAȭI |
messagebus (i) | (t)iΨӷqUӳn𫗪TAIŶKïPıC LbAҫhSjPݨDNOFC |
microcode_ctl (i) | (t)Intel CPU |Ѥ@ӥ~LOѨtιB@A LApGASU Intel OɮסAoӪAȤݭnҰʪA]|vTtιB@C(4) |
netfs (i) | ()iHiϺо (NFS, SMB/CIFS) P\C ثeڭ̩|ϥκA]oӪAȥiHC |
network | ()Ѻ]w\AҥH@wnҰʪաI |
nfslock (i) | ()NFS @ Unix like ϺоAbiɮתɮɡA FߦP@ɮצhs𫍧DAҥH|o (lock) AȡIiHקKP@ɮ׳QӤPHsɩҳyɮ~DC |
pcscd (i) | (t)zdAȡAiHLաC |
portmap | ()Φbݵ{ǩIsAȡAܦhAȳϥγoӪNӻUsuA ]ijnLADATwAtΨSϥΨ RPC AȳI |
readahead_early readahead_later (i) |
(t)btζ}ɭԥiHNYǵ{JO餤AHKֳtJA i[֤@DZҰʪtסC |
restorecond | (t)Q /etc/selinux/restorecond.conf ]wӧP_sɮɡAɮת SELinux Ӧp٭Cݭn`NOApGAtΦܦhDW SELinux ɮ]wɡAo daemon ̦nA_hL|NA]w type ק^w]ȡC |
rpcgssd rpcidmapd (i) | ()P NFS Τݥ\AbA٨SqɡA oөNN]աI |
sendmail | ()oNOqllnڡIڭ̷Qn֦iHH\ɡA oӪAȥiCLAw]oӪAȶȯ䴩\ALkӦۺںlI |
setroubleshoot | (t)@wnҰʰڡI]oNiHNA SELinux TOb /var/log/messages ̭AD`UI |
smartd | (t)oӪAȥiH۰ʪwЪAApGwеoͰDܡA ٯ۰ʪ^tκzAOӫD`UAȳIiLڡI |
sshd | ()oӬOݳsuAn\A oӳqTw telnet nab sshd bǰeƮɥiHi[KIoӪAȤnLաI |
syslog | (t)oӪAȥiHOtΩҲͪUTA ]A /var/log/messages XӭnnɰڡC |
xfs (i) | (t)oӬO X Font ServerADnѹϧΤr@ӪAȡA pGAҰ X ܡAoӪAȥiHҰʡCOpGAݭnΨ X ɡA@wnҰʳoNA_hϧΤOLkҰʪC |
xinetd | (t)NO super daemon ڡAFa ^_^ |
yum-updatesd | (t)iHzL yum \in骺uWɯžA YɯŪnXɡANHlΪ̬O syslog ӳqtκzӤʤɯŰڡC |
WAȬO CentOS 5.x w]ҰʪAoǹw]ҰʪAȫܦhOwWqҳ]pAҥHoApGA Linux Dγ~ObAWܡAܦhAȬOiHաIpGA٦YǤժAȷQnA аȥndMӪAȪ\ରI|ҨӻA syslog NApGALܡAtδN|OnɡA AtΩҲͪĵiTNLkO_ӡAANLki debug C
U~@ǥibAtηAȡAuOw]èSҰʳoӪAȴNOFCuO@UA UAȪγ~٬Oݭnzۦd߬峹oC
LAȪ² | |
AȦW | \² |
dovecot | ()iH]w POP3/IMAP HAȡApGA Linux DO email server ~ݭnoӪAȡA_hݭnҰʥLաI |
httpd | ()oӪAȥiHA Linux A www server I |
named | ()oOW٦A (Domain Name System) AȡA oӪAȫD`nAO]wD`xIثeӤݭnoӪAȰաI |
nfs | ()oNO Network FilesystemAO Unix-Like ۧ@Ϻо@ӥ\C |
ntpd | ()AȪWO Network Time Protocol AoӪAȥiHΨӶiծɡA AtΪɶûOTI |
smb | ()oӪAȥiH Linux Windows WWھFC pGA Linux DQn Windows ΤݪϺоAAoNonnn@C |
squid | ()@NzA@ӪAȡAi@@Ӱϰ𤧥ΡC |
vsftpd | ()@ɮǿA (FTP) AȡC |
[root@www ~]# rpm -q telnet-server package telnet-server is not installed [root@www ~]# yum install telnet-server ============================================================== Package Arch Version Repository Size ============================================================== Installing: telnet-server i386 1:0.17-39.el5 base 35 k Transaction Summary ============================================================== Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 35 k Is this ok [y/N]: y Downloading Packages: telnet-server-0.17-39.el5.i386.rpm | 35 kB 00:00 warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897 Importing GPG key 0xE8562897 "CentOS-5 Key (CentOS 5 Official Signing Key) <centos-5-key@centos.org>" from /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-5 Is this ok [y/N]: y Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : telnet-server [1/1] Installed: telnet-server.i386 1:0.17-39.el5 Complete! |
[root@www ~]# chkconfig --list telnet telnet off <==u on off ̬ super daemon [root@www ~]# ll /etc/xinetd.d/telnet -rw-r--r-- 1 root root 305 Dec 1 2007 /etc/xinetd.d/telnet # ݧaIGMO super daemon I [root@www ~]# grep '^telnet' /etc/services telnet 23/tcp telnet 23/udp |
[root@www ~]# chkconfig telnet on; chkconfig --list telnet telnet on [root@www ~]# /etc/init.d/xinetd restart b xinetd: [ Tw ] bҰ xinetd: [ Tw ] [root@www ~]# netstat -tlnp | grep xinetd tcp 0 0 0.0.0.0:23 0.0.0.0:* LISTEN 2487/xinetd # T{@UAT꦳Ұ port 23 I ^_^ |
# 1. telnet D{O@H [root@www ~]# grep server /etc/xinetd.d/telnet server = /usr/sbin/in.telnetd # 2. }lw}G [root@www ~]# vim /etc/hosts.allow in.telnetd : .edu.tw [root@www ~]# vim /etc/hosts.deny in.telnetd: ALL |