ユーザ毎の cron ファイルに対して、以下のケースで挙動を見てみました。テストは CentOS7 と Ubuntu16 で実施しました。
- オーナーを変更した場合
- パーミッションを変更した場合
結果
以下のような結果になりました。CentOS7 の方がオーナーやパーミッションの判定が厳しいようです。
OS | ユーザ毎の設定ファイル位置 | オーナーを変更した場合の挙動 | パーミッションを変更した場合の挙動 |
---|---|---|---|
CentOS7 | /var/spool/cron | X(WRONG FILE OWNER エラー) | X(BAD FILE MODE エラー) |
Ubuntu16 | /var/spool/cron/crontabs | ○ | ○ |
デフォルトのオーナー/パーミッション
CentOS7
crontab -u USERNAME でユーザ毎の設定ファイルを作成した場合、/var/spool/cron 配下にファイルが作成されました。各ディレクトリのオーナー/パーミッションは以下のようになっていました。
# tree -fpug /var/spool
/var/spool
・
・
・
├── [drwx------ root root ] /var/spool/cron
│ └── [-rw------- root root ] /var/spool/cron/user
・
・
・
Ubuntu 16
crontab -u USERNAME でユーザ毎の設定ファイルを作成した場合、/var/spool/cron/crontabs 配下にファイルが作成されました。各ディレクトリのオーナー/パーミッションは以下のようになっていました。
# tree -fpug /var/spool/
/var/spool
|-- [drwxr-xr-x root root ] /var/spool/cron
| `-- [drwx-wx--T root crontab ] /var/spool/cron/crontabs
| `-- [-rw------- user crontab ] /var/spool/cron/crontabs/user
・
・
・
ファイルの所有者を変更した場合
CentOS7
ファイルの所有者を「user」以外に変更してみました。
# ls -al /var/spool/cron/user
-rw------- 1 user2 user 20 Nov 3 15:17 user
/var/log/cron を確認すると「エラーになり、cron が実行されていない」ことが確認出来ました。
Nov 3 15:31:01 centos-02 crond[470]: (user) WRONG FILE OWNER (/var/spool/cron/user)
Ubuntu16
ファイルの所有者を「user」以外に変更してみました。
# ls -al /var/spool/cron/crontabs/user
-rw------- 1 user2 user 1109 Nov 3 15:21 /var/spool/cron/crontabs/user
/var/log/syslog を確認すると「cron が実行されていること」が確認出来ました。
Nov 3 15:40:01 Ubuntu-02 CRON[11707]: (user) CMD (/bin/date)
ファイルのパーミッションを変更した場合
ファイルのパーミッションを変更し、グループにも Read/Write 権限を付与してみました。
# ls -al /var/spool/cron/user
-rw-rw---- 1 root root 20 Nov 3 15:17 /var/spool/cron/user
/var/log/cron を確認すると「エラーになり、cron が実行されていない」ことが確認出来ました。
Nov 3 15:33:01 centos-02 crond[470]: (user) BAD FILE MODE (/var/spool/cron/user)
Ubuntu16
ファイルのパーミッションを変更し、グループにも Read/Write 権限を付与してみました。
# ls -al /var/spool/cron/crontabs/user
-rw-rw---- 1 user crontab 1109 Nov 3 15:21 /var/spool/cron/crontabs/user
/var/log/syslog を確認すると「cron が実行されていること」が確認出来ました。
Nov 3 15:44:01 Ubuntu-02 CRON[11725]: (user) CMD (/bin/date)
コメント