
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