크론 작업의 기본 umask

크론 작업의 기본 umask

cron 작업에 대한 기본 umask를 설정하는 방법은 무엇입니까? (RHEL 6의 경우)

작업은 비대화형(분명히) 로그인이 필요 없는(?) 쉘에서 시작됩니다. 나뿐만 아니라선호하다배쉬를 통해 대시하십시오. 그러나 bash를 /bin/sh. 비대화형 비로그인 호출의 어느 쉘도 시작 파일(예: /etc/profile.

기본 umask는 쉘에 내장되어 있습니까, 아니면 cron 데몬에서 상속됩니까?

답변1

RHEL에서는 PAM을 사용하므로 다음을 사용해 볼 수 있습니다.pam_umask

넣어보세요/etc/pam.d/crond

session optional pam_umask.so umask=0022

물론 이는 테스트되지 않았으며 다양한 애플리케이션에서 가정한 내용을 깨뜨릴 가능성이 높습니다.

답변2

>= RHEL7에서는 systemd 서비스에서 UMask 값을 설정하여 이를 수행할 수 있습니다.

vi /usr/lib/systemd/system/crond.service
[Unit]
Description=Command Scheduler
After=auditd.service systemd-user-sessions.service time-sync.target

[Service]
UMask=0002
EnvironmentFile=/etc/sysconfig/crond
ExecStart=/usr/sbin/crond -n $CRONDARGS
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl restart crond.service

관련 정보