Hướng dẫn tắt service không cần thiết trên Linux System

Khi cài đặt hệ điều hành Linux, có rất nhiều package và ứng dụng được cài đặt tự động mà người dùng không hề hay biết. Bài viết sẽ hướng dẫn  tắt service không cần thiết trên Linux System, giúp server hoạt động nhanh và hiệu quả hơn.

Khi xây dựng một máy chủ, chúng ta cần tự đặt vấn đề về việc chúng ta cần gì từ nó. Bạn cần Web Server, một FTP Server, một DNS Server hay một Database Server … ? Bài viết sẽ đề xuất một số ứng dụng và service khong cần thiết nhưng được cài mặc định cài từ động và chiếm tài nguyên hệ thống.

Để biết được những service nào đang chạy trên hệ thống ta dùng lệnh sau:

[[email protected]]# ps ax

Kết quả minh họa

  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]
.....

Xem những cổng kết nối mà tiến trình chấp nhận thông qua lệnh :

[[email protected]]# netstat -lp

Kết quả minh họa:

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         
....

Ở màn hình kết quả trên, ta sẽ nhận thấy một vài ứng dụng khồn cần thiết bao gồm:

  1. smbd và nmbd
    smbd và mnbd là tiến trình của Samba Process, dùng để chia sẻ file giữa các nền tảng khác nhau như Windows và Linux bằng cách sử dụng giao thức SMB/CIFS.
  2. Telnet
    TELNET (viết tắt của TErminaL NETwork) một giao thức mạng (network protocol) được dùng trên các kết nối với Internet hoặc các kết nối tại mạng máy tính cục bộ LAN.
  3. rlogin
    Đăng nhập từ xa vào một host khác trong mạng
  4. rexec
    Remote Process Execution hay còn lại là rexec cho phép bạn thực thi shell command trên một máy tính từ xa.
  5. FTP
    FTP là chữ viết tắt của File Transfer Protocol (Giao thức chuyển nhượng tập tin), đây một giao thức giúp bạn dễ dàng trao đổi các dữ liệu giữa máy tính của bạn với host và ngược lại.
  6. automount
    Tự động mount file hệ thống
  7. named
    NameServer (DNS)
  8. Lpd
    Tiền trình máy in
  9. Inetd
    Tiến trình cung cấp dịch vụ Internet cho máy chủ. Nếu đang sử dụng những ứng dụng độc lập như SSH cùng MySql, Apache,.. thì không cần thiết sử dụng inetd
  10. portmap
    Portmap là một  Open Network Computing Remote Procedure Call (ONC RPC) có hai tiến trình rpc.portmap và rpcbind.

Cách vô hiệu hóa service trên Linux

Trong các bản phân phối Red Hat như FedoraCentOS, sử dụng script ‘chkconfig’ để bật và tắt services trên Linux.

Ví dụ để tắt Apache Web Server không cho khởi động cùng hệ thống

[[email protected]]# chkconfig httpd off
[[email protected]]# chkconfig httpd --del

Trong các bản phân phối Debian như Ubuntu, Linux, Mint …, sử dụng script update-rc.d

[[email protected]]# update-rc.d -f apache2 remove

Sau khi thay thực hiện thay đổi, ở lần tiếp theo hệ thống khởi động sẽ không còn những tiến trình không cần thiết, giúp tiết kiệm tài nguyên cũng như giúp máy chủ hoạt động nhanh, an toàn và bảo mật hơn.

tecmint

Bình luận

Từ khóa: