최근에 사용자의 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"
답변
/ usr / bin / crontab에 대한 권한은 다음과 같아야합니다.
owner=root
group=root
perms= 4755 (rws rx rx)
/ usr / bin / crontab에 잘못된 그룹 소유자가 있습니다. 또한, sgid 및 NOT suid가 있어야합니다.
답변
권한을 수정하지 않고 수퍼 유저 액세스 권한이있는 경우 사용자 crontab을 편집 할 수 있습니다.
$ sudo crontab -u username -e
sudo없이 사용자 crontab을 편집 할 수 있다고 생각했지만 crontab
그룹에 자신을 추가 한 후에도 동일한 권한 문제가 발생합니다 . 내 사용자의 crontab ( /var/spool/cron/crontabs
) 의 권한 은 -rw-------
, 그룹은 crontab
입니다.