구동 프로세스 최소화

부팅시 자동 구동되는 데몬 프로세스중 사용하지 않는 프로세스는 삭제를 하거나 삭제가 부담된다면 최소한 자동 구동을 끄는 것이 좋습니다.

사용하지 않는 데몬 프로세스가 구동되고 있으면 시스템의 리소스를 불필요하게 소비하며 보안에 취약해질 수도 있습니다.


Systemctl 사용

RHEL과 CentOS 7, 우분투 16은 systemd 관리 명령인 systemctl 을 사용하여 서비스 목록을 확인할 수 있습니다.

$ sudo systemctl list-unit-files --type=service --state=enabled


UNIT FILE                                   STATE  
auditd.service                              enabled
avahi-daemon.service                        enabled
crond.service                               enabled
redis.service                               enabled
rsyslog.service                             enabled
sshd.service                                enabled
systemctl 서비스 목록 확인


목록에서 불필요한 서비스를 발견했다면 stop 명령어로 종료한 후에 disable 로 자동 시작을 중지할 수 있으며 활성화할 경우 disable 대신 enable 을 사용하면 됩니다. 아래는 Email 서버인 postfix 를 중지하고 자동 시작을 끄는 예제입니다.

$ sudo systemctl stop postfix
$ sudo systemctl disable postfix
서비스 자동 시작 중지


chkconfig 사용

Amazon Linux AMI 나 CentOS 6 은 systemctl 대신 자동 시작은 chkconfig, 서비스 관리는 service 명령어를 사용해야 합니다.

먼저 자동 시작하는 서비스의 목록을 보려면 다중 사용자용 런 레벨(run revel) 인 2, 3 에서 구동되는 서비스의 목록을 확인하면 됩니다.

$ sudo chkconfig  --list --level 2 --level 3


httpd           0:off   1:off   2:on    3:on    4:on    5:on    6:off
ip6tables       0:off   1:off   2:on    3:on    4:on    5:on    6:off
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
irqbalance      0:off   1:off   2:on    3:on    4:on    5:on    6:off
lvm2-lvmetad    0:off   1:on    2:on    3:on    4:on    5:on    6:off
lvm2-lvmpolld   0:off   1:on    2:on    3:on    4:on    5:on    6:off
부팅시 자동 구동 서비스 목록

또는 특정 서비스의 런 레벨 설정을 확인하려면 아래와 같이 --list 옵션에 서비스 명을 주면 됩니다.

$ sudo chckconfig --list httpd


httpd            0:off   1:off   2:on    3:on    4:on    5:on    6:off
특정 서비스 런 레벨 확인



런 레벨은 운영 체제가 어떤 모드로 부팅했는지 여부로 이에 따라 기본 구동하는 서비스가 달라집니다. 윈도의 안전모드, 일반 모드 부팅과 비슷하지만 더 세분화 되어 있다고 생각하면 되며 주요 런 레벨의 의미는 아래와 같습니다.

현재 런 레벨은 runlevel 명령어로 확인할 수 있습니다.

httpd 항목에 2:on, 3:on 같이 되어 있는 것을 볼 수 있는데 이것은 해당 런 레벨에서 서비스를 부팅시 자동으로 구동하라는 의미이며 이에 따라 httpd 는 부팅시 런 레벨이 2,3,4 면 자동으로 구동합니다.

불필요한 서비스를 찾았을 경우 chkconfig 서비스명 off 명령어로 해당 서비스의 자동 구동을 해제할 수 있으며 아래는 postfix 서비스를 중지하고 자동 구동을 해제합니다.

$ sudo service postfix stop
$ sudo chkconfig postfix off
부팅시 자동 구동 해제