Failed to restart XXX.service: Unit is masked 문제 해결

 

 

📣목차
✅ Unit is masked 상태의 의미
✅ 사용 목적
✅ masked 상태 데몬 조회 방법
✅ mask 설정
✅ mask 상태 확인
✅ mask 해제

 

 

 Unit is masked 상태의 의미

 

 

"Failed to restart XXX.service: Unit is masked" 에러는 해당 systemd 서비스가 masked 상태라는 의미이다.

Systemd 서비스가 "masked" 상태에 있는 이유는 해당 서비스를 완전히 비활성화하기 위해서입니다.

 

"Masked" 상태의 서비스는 시작될 수 없으며, 심지어는 수동으로도 시작할 수도 없습니다.

이는 일종의 보안 조치나 시스템 관리의 목적으로 사용되며, 주로 아래의 이유로 사용을 합니다.

 

 

사용 목적

 

보안:

특정 서비스가 보안상의 취약점을 가지고 있거나 시스템을 위험에 빠뜨릴 수 있는 경우, 관리자는 해당 서비스를 마스크하여 시스템 보안을 강화할 수 있습니다.

의존성 관리:

어떤 경우에는 특정 서비스가 다른 중요 서비스와 충돌할 수 있습니다. 이러한 충돌을 방지하기 위해 관련 서비스를 마스크할 수 있습니다.

시스템 특성화:

시스템을 특정 목적에 맞게 최적화하기 위해 필요하지 않은 서비스를 마스크할 수 있습니다. 예를 들어, 최소한의 시스템 리소스를 사용하는 서버 환경에서 불필요한 서비스를 마스크하여 시스템의 효율성을 높일 수 있습니다.

사용자 정의 설정:

사용자 또는 시스템 관리자가 특정 서비스를 사용하지 않기로 결정했을 때, 이를 마스크하여 잘못된 실행을 방지할 수 있습니다.

 

 

Systemd에서 서비스를 마스크하는 것은 링크를 /dev/null로 생성하는 것과 유사합니다. 이는 서비스의 실제 단위 파일 대신 /dev/null에 대한 심볼릭 링크를 생성하여, 해당 서비스가 시작되지 않도록 합니다. 따라서 마스크된 서비스는 실질적으로 "삭제"된 것과 같은 상태가 됩니다.

 

 

 masked 상태 데몬 조회

$ systemctl list-unit-files | grep masked

 

출력 예시

apache2.service                  masked
mysql.service                    masked
bluetooth.service                masked
avahi-daemon.service             masked
cups.service                     masked

 

 

 mask 설정

 

httpd 데몬 mask 설정

$ systemctl mask httpd

 

 

 mask 상태 확인

 

httpd 데몬 mask 설정

$ systemctl status httpd
● httpd.service
   Loaded: masked (Reason: Unit httpd.service is masked.)
   Active: inactive (dead)

 

 

 mask 해제

 

httpd 데몬 mask 해제

$ systemctl unmask httpd

 

댓글

Designed by JB FACTORY

loading