web-dev-qa-db-ja.com

crontabの一覧表示または編集によるfopenの結果:権限が拒否されました

最近、ユーザーのcrontabから実行するように構成されたジョブが実行を停止しました。ユーザーのcrontabをリストまたは編集しようとすると、結果は次のようになります。

user@Host:~$ crontab -l
crontabs/user/: fopen: Permission denied

user@Host:~$ crontab -e
crontabs/user/: fdopen: Permission denied

明らかにそれはアクセス許可に関連していますが、アクセス許可がどのように変更されたかはわかりません。

/ usr/bin/crontabの権限:

$ ll /usr/bin/crontab
-rwxr-sr-x 1 root libuuid 35896 Aug 24  2010 /usr/bin/crontab*

/ var/spool/cron/crontabディレクトリの権限:

# ll /var/spool/cron/
total 12
drwxr-xr-x 3 root root    4096 Oct 12  2010 ./
drwxr-xr-x 7 root root    4096 Jun  5 20:51 ../
drwx-wx--T 2 root libuuid 4096 Jan 10  2014 crontabs/

Crontabディレクトリ内の権限:

# ll /var/spool/cron/crontabs/
total 16
drwx-wx--T 2 root libuuid 4096 Jan 10  2014 ./
drwxr-xr-x 3 root root    4096 Oct 12  2010 ../
-rw------- 1 1017 libuuid 1120 Dec  3  2013 
-rw------- 1 root libuuid 1342 Jan 10  2014 root

ディストリビューション情報:

# cat /etc/*-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=10.10
DISTRIB_CODENAME=maverick
DISTRIB_DESCRIPTION="Ubuntu 10.10"
10
stantonk

/ usr/bin/crontabの権限は次のようになります。

 owner=root
 group=root
 perms= 4755  (rws rx rx)

/ usr/bin/crontabに間違ったグループ所有者がいます。さらに、sgidがあり、sidが必要です。

5
mdpc

スーパーユーザーアクセス権がある場合は、権限を変更せずにユーザーのcrontabを編集できます。

$ Sudo crontab -u username -e

Sudoがなくてもユーザーのcrontabを編集できると思いましたが、crontabグループに自分を追加した後でも、同じ権限の問題が発生します。ユーザーのcrontab(/var/spool/cron/crontabs)は-rw-------、グループはcrontabです。

5
Gauthier