web-dev-qa-db-ja.com

Cron:すべてに対して許可が拒否されました

通常のユーザーとしては、cron設定を編集できません。 cronコマンドの一覧表示や編集など、すべてに対して「アクセスが拒否されました」というメッセージが表示されます。

例:

cron -l
cron: can't open or create /var/run/crond.pid: Permission denied

crontab -e
/var/spool/cron/crontabs/skerit: Permission denied

これらは/var/run/crond.pidの権限です:

-rwxr-Sr-- 1 root root 5 2011-05-27 12:44 crond.pid
---------- 1 root root 0 2011-03-23 21:13 crond.reboot

そして/ var/spool/cron /のパーミッション:

drwxr-sr-x  5 root root     4,0K 2009-12-23 23:01 cron

すべてのユーザーも/ etc/groupsファイルに追加されます。

crontab:x:102:skerit,www-data
8
skerit

これは厄介な問題でした。

最終的に、すべてのユーザーをcrontabグループに追加し、必要なすべてのファイルのグループ所有権をそのcrontabグループに設定しました。

多くの権限がめちゃくちゃになりました。グループの所有権を別のものに変更するには、まずそれらの権限を「リセット」します。

Crontab実行可能ファイル:
Sudo chgrp crontab /usr/bin/crontab
Sudo chmod g+s /usr/bin/crontab
結果:-rwxrwsr-x 1 root crontab 37K 2010-04-15 08:51 /usr/bin/crontab

Cronスプールファイル:
Sudo chmod 4774 -R /var/spool/cron
結果:drwsrwsr-- 5 root crontab 4,0K 2009-12-23 23:01 cron

これらのスプールディレクトリにあるcronファイルは、読み取りと書き込みのみが可能である必要があります。そうしないと、実行されません。 Sudo chmod 600 /var/spool/cron/crontabs/*

Cron pidファイル:
Sudo chmod 744 /var/run/crond.pid

それでカバーできると思います。

3
skerit

CRONファイルの権限はユーザーrootグループrootに設定されているため、CRONファイルを変更または実行するにはrootである必要があります。または、rootとしてログインし、グループを別のグループに変更して、編集できるようにすることもできます。

1
Smudge

これはどのLinuxディストリビューションですか? /etc/cron.allowまたは/etc/cron.denyファイルはありますか?もしそうなら、それらの内容は何ですか?

/var/spool/cron/crontabs/skeritの権限は何ですか

すべてのユーザーが自分のcrontabを編集できる必要があります。

1
opsguy