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