วิธีหยุดและปิดการใช้งานบริการที่ไม่ต้องการจากระบบ Linux
เราสร้างเซิร์ฟเวอร์ตามแผนและข้อกำหนดของเรา แต่ฟังก์ชันที่ตั้งใจไว้คืออะไรในขณะที่สร้างเซิร์ฟเวอร์เพื่อให้ทำงานได้อย่างรวดเร็วและมีประสิทธิภาพ เราทุกคนรู้ดีว่าในขณะที่ติดตั้งระบบปฏิบัติการ Linux แพ็คเกจและแอปพลิเคชันที่ไม่ต้องการบางตัวจะถูกติดตั้งโดยอัตโนมัติโดยที่ผู้ใช้ไม่รู้
เมื่อสร้างเซิร์ฟเวอร์ เราต้องถามตัวเองว่าเราต้องการอะไรจากกล่องจริงๆ ฉันจำเป็นต้องมี เว็บเซิร์ฟเวอร์ หรือ เซิร์ฟเวอร์ FTP, เซิร์ฟเวอร์ NFS หรือ เซิร์ฟเวอร์ DNS, >เซิร์ฟเวอร์ฐานข้อมูลหรืออย่างอื่น
ในบทความนี้ เราจะพูดถึงแอพพลิเคชั่นและบริการที่ไม่พึงประสงค์บางส่วนซึ่งคุณอาจไม่จำเป็น แต่จะถูกติดตั้งตามค่าเริ่มต้นระหว่างการติดตั้งระบบปฏิบัติการ และเริ่มกินทรัพยากรระบบของคุณโดยไม่รู้ตัว
ก่อนอื่นให้รู้ว่าบริการประเภทใดที่ทำงานบนระบบโดยใช้คำสั่งต่อไปนี้
[avishek@tecmint]# ps ax
ผลลัพธ์ตัวอย่าง
PID TTY STAT TIME COMMAND
2 ? S 0:00 [kthreadd]
3 ? S 0:00 \_ [migration/0]
4 ? S 0:09 \_ [ksoftirqd/0]
5 ? S 0:00 \_ [migration/0]
6 ? S 0:24 \_ [watchdog/0]
7 ? S 2:20 \_ [events/0]
8 ? S 0:00 \_ [cgroup]
9 ? S 0:00 \_ [khelper]
10 ? S 0:00 \_ [netns]
11 ? S 0:00 \_ [async/mgr]
12 ? S 0:00 \_ [pm]
13 ? S 0:16 \_ [sync_supers]
14 ? S 0:15 \_ [bdi-default]
15 ? S 0:00 \_ [kintegrityd/0]
16 ? S 0:49 \_ [kblockd/0]
17 ? S 0:00 \_ [kacpid]
18 ? S 0:00 \_ [kacpi_notify]
19 ? S 0:00 \_ [kacpi_hotplug]
20 ? S 0:00 \_ [ata_aux]
21 ? S 58:46 \_ [ata_sff/0]
22 ? S 0:00 \_ [ksuspend_usbd]
23 ? S 0:00 \_ [khubd]
24 ? S 0:00 \_ [kseriod]
.....
ตอนนี้เรามาดูกระบวนการที่ยอมรับการเชื่อมต่อ (พอร์ต) อย่างรวดเร็วโดยใช้คำสั่ง netstat ดังที่แสดงด้านล่าง
[avishek@tecmint]# netstat -lp
ผลลัพธ์ตัวอย่าง
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 *:31138 *:* LISTEN 1485/rpc.statd
tcp 0 0 *:mysql *:* LISTEN 1882/mysqld
tcp 0 0 *:sunrpc *:* LISTEN 1276/rpcbind
tcp 0 0 *:ndmp *:* LISTEN 2375/perl
tcp 0 0 *:webcache *:* LISTEN 2312/monitorix-http
tcp 0 0 *:ftp *:* LISTEN 2174/vsftpd
tcp 0 0 *:ssh *:* LISTEN 1623/sshd
tcp 0 0 localhost:ipp *:* LISTEN 1511/cupsd
tcp 0 0 localhost:smtp *:* LISTEN 2189/sendmail
tcp 0 0 *:cbt *:* LISTEN 2243/java
tcp 0 0 *:websm *:* LISTEN 2243/java
tcp 0 0 *:nrpe *:* LISTEN 1631/xinetd
tcp 0 0 *:xmltec-xmlmail *:* LISTEN 2243/java
tcp 0 0 *:xmpp-client *:* LISTEN 2243/java
tcp 0 0 *:hpvirtgrp *:* LISTEN 2243/java
tcp 0 0 *:5229 *:* LISTEN 2243/java
tcp 0 0 *:sunrpc *:* LISTEN 1276/rpcbind
tcp 0 0 *:http *:* LISTEN 6439/httpd
tcp 0 0 *:oracleas-https *:* LISTEN 2243/java
....
ในผลลัพธ์ข้างต้น คุณสังเกตเห็นว่าแอปพลิเคชันบางตัวที่คุณอาจไม่จำเป็นต้องใช้บนเซิร์ฟเวอร์ของคุณ แต่แอปพลิเคชันเหล่านั้นยังคงทำงานอยู่ดังนี้:
1. smbd และ nmbd
smbd และ nmbd เป็น daemon ของ Samba Process คุณจำเป็นต้องส่งออกส่วนแบ่ง smb บน windows หรือเครื่องอื่นจริงๆ หรือไม่ ถ้าไม่! เหตุใดกระบวนการเหล่านี้จึงทำงานอยู่ คุณสามารถฆ่ากระบวนการเหล่านี้ได้อย่างปลอดภัยและปิดการใช้งานไม่ให้เริ่มทำงานโดยอัตโนมัติเมื่อเครื่องบู๊ตในครั้งต่อไป
2. เทลเน็ต
คุณต้องการการสื่อสารแบบข้อความเชิงโต้ตอบแบบสองทิศทางผ่านอินเทอร์เน็ตหรือเครือข่ายท้องถิ่นหรือไม่? ถ้าไม่! ฆ่ากระบวนการนี้และปิดไม่ให้เริ่มตอนบูท
3. เข้าสู่ระบบ
คุณจำเป็นต้องเข้าสู่ระบบโฮสต์อื่นผ่านเครือข่ายหรือไม่ ถ้าไม่! ฆ่ากระบวนการนี้และปิดการใช้งานไม่ให้เริ่มโดยอัตโนมัติเมื่อบู๊ต
4. เร็กซ์
Remote Process Execution หรือที่เรียกว่า rexec ช่วยให้คุณสามารถรันคำสั่งเชลล์บนคอมพิวเตอร์ระยะไกลได้ หากคุณไม่ต้องการรันคำสั่งเชลล์บนเครื่องระยะไกล เพียงแค่ปิดกระบวนการนั้น
5. เอฟทีพี
คุณจำเป็นต้องถ่ายโอนไฟล์จากโฮสต์หนึ่งไปยังโฮสต์อื่นผ่านทางอินเทอร์เน็ตหรือไม่? ถ้าไม่คุณสามารถหยุดบริการได้อย่างปลอดภัย
6. ติดตั้งอัตโนมัติ
คุณจำเป็นต้องติดตั้งระบบไฟล์ต่างๆ โดยอัตโนมัติเพื่อเรียกใช้ระบบไฟล์เครือข่ายหรือไม่? ถ้าไม่! เหตุใดกระบวนการนี้จึงทำงานอยู่ เหตุใดคุณจึงปล่อยให้แอปพลิเคชันนี้ใช้ทรัพยากรของคุณ ฆ่ากระบวนการและปิดการใช้งานไม่ให้เริ่มโดยอัตโนมัติ
7.ตั้งชื่อ
คุณจำเป็นต้องรัน NameServer (DNS) หรือไม่? หากไม่ใช่สิ่งที่โลกบังคับให้คุณดำเนินการตามกระบวนการนี้และยอมให้กินทรัพยากรของคุณจนหมด ฆ่ากระบวนการที่กำลังทำงานอยู่ก่อนแล้วจึงปิดไม่ให้รันตอนบู๊ต
8.แอลพีดี
lpd คือพรินเตอร์ daemon ซึ่งทำให้สามารถพิมพ์ไปยังเซิร์ฟเวอร์นั้นได้ หากคุณไม่ต้องการพิมพ์จากเซิร์ฟเวอร์ โอกาสที่ทรัพยากรระบบของคุณจะถูกกินหมด
9. เนท
คุณกำลังใช้บริการ inetd อยู่หรือไม่? หากคุณกำลังใช้งานแอปพลิเคชันสแตนด์อโลน เช่น ssh ซึ่งใช้แอปพลิเคชันสแตนด์อโลนอื่นๆ เช่น Mysql, Apache ฯลฯ คุณไม่จำเป็นต้องมี inetd ควรฆ่ากระบวนการและปิดการใช้งานโดยเริ่มในครั้งต่อไปโดยอัตโนมัติ
10. พอร์ตแมป
Portmap ซึ่งเป็น Open Network Computing Remote Procedure Call (ONC RPC) และการใช้งาน daemon rpc.portmap และ rpcbind หากกระบวนการเหล่านี้กำลังทำงานอยู่ หมายความว่าคุณกำลังใช้งานเซิร์ฟเวอร์ NFS หากเซิร์ฟเวอร์ NFS ทำงานโดยไม่มีใครสังเกตเห็น หมายความว่าทรัพยากรระบบของคุณถูกใช้หมดโดยไม่จำเป็น
วิธีฆ่ากระบวนการใน Linux
หากต้องการหยุดกระบวนการที่กำลังทำงานอยู่ใน Linux ให้ใช้คำสั่ง 'Kill PID' แต่ก่อนที่จะรันคำสั่ง Kill เราต้องทราบ PID ของกระบวนการก่อน ตัวอย่างเช่น ฉันต้องการค้นหา PID ของกระบวนการ 'cupsd'
[avishek@tecmint]# ps ax | grep cupsd
1511 ? Ss 0:00 cupsd -C /etc/cups/cupsd.conf
ดังนั้น PID ของกระบวนการ 'cupsd' คือ '1511' หากต้องการฆ่า PID นั้นให้รันคำสั่งต่อไปนี้
[avishek@tecmint]# kill -9 1511
หากต้องการข้อมูลเพิ่มเติมเกี่ยวกับคำสั่ง kill พร้อมตัวอย่าง โปรดอ่านบทความ A Guide to Kill Command เพื่อยุติกระบวนการใน Linux
วิธีปิดการใช้งานบริการใน Linux
ในการกระจายแบบ Red Hat เช่น Fedora และ CentOS ให้ใช้สคริปต์ที่เรียกว่า 'chkconfig' เพื่อเปิดใช้งานและปิดใช้งานบริการที่ทำงานอยู่ใน Linux .
ตัวอย่างเช่น ให้ปิดการใช้งานเว็บเซิร์ฟเวอร์ Apache เมื่อเริ่มต้นระบบ
[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del
ในการแจกแจงแบบอิง Debian เช่น Ubuntu, Linux Mint และการแจกแจงแบบอิง Debian อื่นๆ จะใช้สคริปต์ที่เรียกว่า update-rc.d แข็งแกร่ง>.
ตัวอย่างเช่น หากต้องการปิดใช้งานบริการ Apache เมื่อเริ่มต้นระบบ ให้รันคำสั่งต่อไปนี้ ตัวเลือก '-f' ในที่นี้หมายถึงบังคับ
[avishek@tecmint]# update-rc.d -f apache2 remove
หลังจากทำการเปลี่ยนแปลงเหล่านี้ ระบบจะบูตในครั้งต่อไปโดยไม่มีกระบวนการที่จำเป็นของ UN ซึ่งอันที่จริงแล้วจะช่วยประหยัดทรัพยากรระบบของเรา และเซิร์ฟเวอร์จะใช้งานได้จริง รวดเร็ว ปลอดภัย และปลอดภัยยิ่งขึ้น
นั่นคือทั้งหมดที่สำหรับตอนนี้. ฉันจะมาที่นี่อีกครั้งพร้อมกับบทความที่น่าสนใจอื่น จนกว่าจะคอยติดตามและเชื่อมต่อกับ Tecmint อย่าลืมให้ข้อเสนอแนะอันมีค่าของคุณในส่วนความคิดเห็น