systemd를 사용하여 Docker 서비스의 umask를 설정하는 방법

systemd를 사용하여 Docker 서비스의 umask를 설정하는 방법

Docker 서비스를 시작하고 싶습니다체계umask는 0002입니다(기본값 0022 대신). 그래서 /etc/systemd/system/docker.service.d/override.conf아래에 오버레이 파일을 만들었습니다.

[Service]
UMask=0002

그리고 데몬을 다시 로드 systemctl daemon-reload하고 Docker 서비스를 다시 시작하세요. 그런데 막상 보니까 /proc/<PID>/status아직도 0022가 umask로 보이는데, 제가 뭘 잘못하고 있는 줄 아시나요?

답변1

그것을 분석해 봅시다.

Umask=에 문서화되어 있습니다 man systemd.exec. 를 검사하여 어떤 매뉴얼 페이지에 문서화되어 있는지 확인할 수 있습니다 man systemd.directives. 다음과 같이 문서화되어 있습니다.

"제어 파일 모드 생성 마스크."

에 표시되는 출력은 /proc/<pid>/status에 문서화되어 있습니다 man proc. 다음과 같이 문서화되어 있습니다.

"마스크 프로세스".

따라서 우선 귀하의 확인이 systemd귀하가 설정한 지시문에 대한 올바른 테스트인지 확실하지 않습니다. 더 나은 테스트는 Docker가 생성하는 파일을 살펴보는 것입니다. 무엇을 위해 만들어졌나요 umask?

둘째, systemd지시사항이 실제로 적용되는지 확인하십시오. 다음 출력을 확인하세요.

 systemd-analyze dump

출력을 검색하면 해당 서비스에 대한 설정을 Docker찾을 수 있습니다 . 예상대로 당신의 모습이 보이나요 ?UmasksystemdDockersystemdumask

귀하의 systemd구문은 올바른 것으로 보이므로 이는 지시어의 기능에 대한 오해일 수 있습니다 Umask=.

관련 정보