systemctl 명령을 사용하여 서비스를 마스킹하는 방법

Systemctl Myeonglyeong Eul Sayonghayeo Seobiseuleul Maseukinghaneun Bangbeob



systemctl은 시스템 서비스를 관리하는 데 사용되는 명령줄 유틸리티입니다. 서비스 시작, 중지, 활성화 및 비활성화와 같이 Linux에서 서비스를 관리하는 다양한 옵션이 있습니다. a라는 또 다른 옵션이 있습니다. 마스크 .

시스템 서비스를 마스킹한다는 것은 서비스가 비활성화되어 시스템이나 수동 명령으로도 활성화할 수 없음을 의미합니다. 마스킹은 더 강력한 형태의 비활성화입니다.

이 가이드에서는 systemctl을 사용하여 Linux에서 서비스를 마스크하는 방법과 마스크를 해제하는 방법을 안내합니다. 또한 마스크 서비스와 장애인 서비스의 주요 차이점을 다루겠습니다.







경고: Linux에서는 서비스가 상호 의존적입니다. 서비스를 마스킹하면 서비스가 비활성화되고 활성화가 금지되므로 주의해서 사용하세요.



더 진행하기 전에 먼저 마스킹된 서비스의 메커니즘을 이해해 보겠습니다.



마스크 서비스란?

마스크된 서비스는 시스템이나 시스템 관리자가 활성화할 수 없도록 영구적으로 비활성화된 서비스입니다. 시스템 관리자는 일반적으로 다음을 사용합니다. 마스크 오작동하거나 충돌하는 서비스를 비활성화하는 옵션입니다. 그러나 중요한 시스템 서비스를 마스킹하면 시스템 부팅에 장애가 발생할 수 있으므로 이 옵션을 주의해서 사용하는 것이 좋습니다.





마스크된 서비스를 나열하는 방법

Linux에서 마스크 서비스를 나열하려면 목록 단위 언급된 상태가 마스크된 옵션입니다.

systemctl 목록 단위 --상태 =마스크됨



서비스를 마스킹하는 방법

systemctl 명령을 사용하여 모든 서비스를 마스킹할 수 있습니다. 마스크 옵션. 명령의 일반적인 구문은 아래에 설명되어 있습니다.

sudo systemctl 마스크 [ 서비스 이름 ]

위 구문의 마스크 옵션은 기본적으로 서비스에 대한 심볼릭 링크를 만듭니다. /etc/systemd/시스템 .

하나 이상의 서비스를 공백으로 구분하여 언급할 수도 있습니다.

위 구문을 사용하여 SSH 서비스를 마스킹해 보겠습니다.

sudo systemctl 마스크 ssh.service

마스킹된 서비스의 상태를 확인하려면 –상태= 옵션 systemctl 목록 단위 .

서비스를 시작하려고 하면 장치가 마스킹되었다는 출력을 받게 됩니다.

메모: 생성된 서비스는 마스킹할 수 없습니다. /etc/systemd/시스템 예배 규칙서. 이 디렉터리의 서비스는 시스템 작업에 필수적이므로 이를 마스킹하면 정상적인 시스템 기능이 손상될 수 있습니다. 그러나 이러한 서비스를 비활성화하는 것은 서비스를 마스킹하는 것과 같습니다.

서비스를 일시적으로 마스킹하는 방법

다음 부팅 때까지 다음을 사용하여 서비스를 마스킹할 수 있습니다. -실행 시간 옵션.

sudo systemctl 마스크 [ 서비스 이름 ] --실행 시간

서비스의 심볼릭 링크를 생성합니다. /실행/시스템/시스템 예배 규칙서. 서비스의 심볼릭 링크가 이미 디렉터리에 있는 경우 해당 서비스는 일시적으로 가려지도록 설계되었습니다.

서비스 마스크를 해제하는 방법

systemctl 명령을 다음과 함께 사용하십시오. 마스크를 풀다 마스크 제한을 제거하는 옵션. 이 명령은 서비스 경로를 허용하지 않으므로 서비스 이름만 언급하면 ​​됩니다.

sudo systemctl 마스크 해제 [ 서비스 이름 ]

서비스 마스크를 해제한 후 시스템을 재부팅해야 할 수도 있습니다.

마스크된 서비스와 비활성화된 서비스의 차이점

비활성화된 서비스는 시스템 및 수동 명령으로 활성화하고 시작할 수 있습니다. 그러나 시스템이나 수동 상호 작용으로는 마스크 서비스를 활성화할 수 없습니다.

서비스가 비활성화되면 해당 서비스에 심볼릭 링크가 생성됩니다. /etc/systemd/시스템 디렉터리가 제거되고 부팅 시 서비스가 활성화되지 않습니다. 그러나 종속 서비스에 의해 활성화될 수 있습니다.

한편, 마스크드 서비스는 /dev/null 영구적으로 사용할 수 없게 됩니다.

참고 /개발자 디렉토리에는 블록 장치의 파일이 포함되어 있습니다. 그만큼 /dev/null 기록된 모든 내용을 제거하는 가상 장치입니다. 일반적으로 stdout 및 stderr의 출력을 삭제하는 데 사용됩니다.

결론

서비스를 영구적으로 비활성화하려면 systemctl Mask 명령을 사용하십시오. 마스크 서비스는 시스템에서도 활성화할 수 없습니다. 이 가이드에서는 서비스를 영구적으로, 일시적으로 마스킹하는 방법을 다루었습니다. 또한 서비스의 마스크를 해제하는 방법과 마스크된 서비스와 비활성화된 서비스의 주요 차이점도 언급했습니다.