웹사이트 검색

Linux 시스템에서 원하지 않는 서비스를 중지하고 비활성화하는 방법


우리는 계획과 요구 사항에 따라 서버를 구축하지만, 빠르고 효율적으로 작동하도록 서버를 구축하는 동안 의도한 기능은 무엇입니까? 우리 모두는 Linux OS를 설치하는 동안 사용자가 모르는 사이에 원치 않는 일부 패키지와 애플리케이션이 자동으로 설치된다는 것을 알고 있습니다.

서버를 구축할 때 우리는 상자에서 실제로 필요한 것이 무엇인지 스스로에게 물어봐야 합니다. 웹 서버 또는 FTP 서버, NFS 서버 또는 DNS 서버, DNS 서버가 필요합니까? >데이터베이스 서버 또는 다른 것.

이 문서에서는 필요하지 않을 수도 있지만 OS 설치 중에 기본적으로 설치되어 자신도 모르게 시스템 리소스를 소모하기 시작하는 원치 않는 응용 프로그램 및 서비스에 대해 설명합니다.

먼저 다음 명령을 사용하여 시스템에서 어떤 종류의 서비스가 실행되고 있는지 알아보세요.

[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는 Samba 프로세스의 데몬입니다. Windows나 다른 컴퓨터에서 SMB 공유를 내보내야 합니까? 그렇지 않다면! 이 프로세스는 왜 실행되고 있습니까? 이러한 프로세스를 안전하게 종료하고 다음에 컴퓨터를 부팅할 때 자동으로 시작되지 않도록 비활성화할 수 있습니다.

2. 텔넷

인터넷이나 근거리 통신망을 통한 양방향 대화형 텍스트 중심 통신이 필요합니까? 그렇지 않다면! 이 프로세스를 종료하고 부팅 시 시작되지 않도록 끕니다.

3. 로그인

네트워크를 통해 다른 호스트에 로그인해야 합니까? 그렇지 않다면! 이 프로세스를 종료하고 부팅 시 자동으로 시작되지 않도록 비활성화합니다.

4. 렉섹

rexec라고도 불리는 원격 프로세스 실행을 사용하면 원격 컴퓨터에서 셸 명령을 실행할 수 있습니다. 원격 시스템에서 쉘 명령을 실행할 필요가 없으면 간단히 프로세스를 종료하십시오.

5. FTP

인터넷을 통해 한 호스트에서 다른 호스트로 파일을 전송해야 합니까? 그렇지 않은 경우 서비스를 안전하게 중지할 수 있습니다.

6. 자동 마운트

네트워크 파일 시스템을 불러오려면 다른 파일 시스템을 자동으로 마운트해야 합니까? 그렇지 않다면! 이 프로세스가 실행되는 이유는 무엇입니까? 이 애플리케이션이 귀하의 리소스를 사용하도록 허용하는 이유는 무엇입니까? 프로세스를 종료하고 자동으로 시작되지 않도록 비활성화합니다.

7. 이름이 붙다

네임서버(DNS)를 실행해야 합니까? 그렇지 않다면 도대체 무엇이 이 프로세스를 실행하고 자원을 소모하도록 강요하는 것입니까? 먼저 실행 중인 프로세스를 종료한 다음 부팅 시 실행을 중지합니다.

8.LPD

lpd는 해당 서버로 인쇄할 수 있게 해주는 프린터 데몬입니다. 서버에서 인쇄할 필요가 없다면 시스템 리소스가 소모될 가능성이 있습니다.

9. Inetd

inetd 서비스를 실행하고 있습니까? Mysql, Apache 등과 같은 다른 독립형 애플리케이션을 사용하는 ssh와 같은 독립형 애플리케이션을 실행하는 경우 inetd가 필요하지 않습니다. 프로세스를 종료하고 다음 번에 자동으로 시작하는 것을 비활성화하는 것이 좋습니다.

10. 포트맵

ONC RPC(Open Network Computing Remote Procedure Call)이며 데몬 rpc.portmap 및 rpcbind를 사용하는 Portmap입니다. 이러한 프로세스가 실행 중이면 NFS 서버를 실행 중임을 의미합니다. NFS 서버가 눈치채지 못한 채 실행되고 있다면 시스템 리소스가 불필요하게 소모되고 있음을 의미합니다.

Linux에서 프로세스를 종료하는 방법

Linux에서 실행 중인 프로세스를 종료하려면 'Kill PID' 명령을 사용하세요. 하지만 Kill 명령을 실행하기 전에 프로세스의 PID를 알아야 합니다. 예를 들어 여기서는 'cupsd' 프로세스의 PID를 찾고 싶습니다.

[avishek@tecmint]# ps ax | grep cupsd

1511 ?        Ss     0:00 cupsd -C /etc/cups/cupsd.conf

따라서 'cupsd' 프로세스의 PID는 '1511'입니다. 해당 PID를 종료하려면 다음 명령을 실행하십시오.

[avishek@tecmint]# kill -9 1511

예제와 함께 kill 명령에 대해 자세히 알아보려면 Linux에서 프로세스를 종료하기 위한 Kill 명령 가이드 문서를 읽어보세요.

Linux에서 서비스를 비활성화하는 방법

FedoraCentOS와 같은 Red Hat 기반 배포판에서는 'chkconfig'라는 스크립트를 사용하여 Linux에서 실행 중인 서비스를 활성화 및 비활성화합니다. .

예를 들어 시스템 시작 시 Apache 웹 서버를 비활성화할 수 있습니다.

[avishek@tecmint]# chkconfig httpd off
[avishek@tecmint]# chkconfig httpd --del

Ubuntu, Linux Mint 및 기타 Debian 기반 배포판과 같은 Debian 기반 배포판에서는 update-rc.d.

예를 들어 시스템 시작 시 Apache 서비스를 비활성화하려면 다음 명령을 실행합니다. 여기서 '-f' 옵션은 force가 필수임을 의미합니다.

[avishek@tecmint]# update-rc.d -f apache2 remove

이러한 변경을 수행한 후에는 다음 번에 시스템이 UN에 필요한 프로세스 없이 부팅되어 실제로 시스템 리소스가 절약되고 서버가 더욱 실용적이고 빠르며 안전해집니다.

지금은 여기까지입니다. 또 다른 흥미로운 기사로 찾아오겠습니다. 그때까지 계속 지켜봐주시고 Tecmint에 연결해 주세요. 의견 섹션에 귀중한 피드백을 제공하는 것을 잊지 마십시오.