`crontab -e` 명령에 대한“허가 거부”의 원인은 무엇입니까?


19

도움이 되길 바라는 결과는 다음과 같습니다.

nick@home-sv-1:~$ crontab -e
/var/spool/cron/crontabs/nick: Permission denied

nick@home-sv-1:~$ echo $EDITOR
emacs

nick@home-sv-1:~$ ls /var/spool/cron/crontabs
ls: cannot open directory /var/spool/cron/crontabs: Permission denied

nick@home-sv-1:~$ sudo ls -al /var/spool/cron/crontabs
total 12
drwx-wx--T 2 root crontab 4096 2009-10-25 20:45 .
drwxr-xr-x 3 root root    4096 2009-05-18 01:19 ..
-rw------- 1 root root     612 2009-10-25 01:20 root

문제:

Crontab에 setguid가없고 crontab 그룹에 없습니다.

home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-xr-x 1 root root 32048 2009-08-30 03:34 /usr/bin/crontab

해결책:

루트로서 ...

home-sv-1:~# chown root.crontab /usr/bin/crontab
home-sv-1:~# chmod g+s /usr/bin/crontab

home-sv-1:~# ls -al /usr/bin/crontab
-rwxr-sr-x 1 root crontab 32048 2009-08-30 03:34 /usr/bin/crontab

답변:


10

않습니다 /usr/bin/crontabsetgid권한 집합을?

-rwxr-sr-x 1 루트 크론 탭 32K 2008-09-28 14:07 / usr / bin / crontab *

그렇지 않은 chmod g+s경우 (필요한 경우 그 chown 전에 )


편집 : 이것은 Vixie Cron (대부분의 배포판에서 사용)에만 적용됩니다. 와 같은 다른 데몬 dcron은 다른 권한 ( setuid)을 사용할 수 있습니다 .


15

또한 / var / spool / cron / crontabs에서 권한을 확인하는 것이 좋습니다.

ls -al /var/spool/cron/crontabs 

필자의 경우이 작업을 수행하면 실제로 crontab에 할당 된 사용자가 'whoopsie'였으며 사용자 설정에 오류가 있음을 의미합니다.

실행할 수 있는...

chown <username> /var/spool/cron/crontabs/<username>

이것을 완전히 수정했습니다 :)


1
이것은 나를 위해 일했지만 문제는 실제 / var / spool / cron / crontabs 디렉토리에 사용자가 액세스 할 수 없으므로 <username> 파일을 만들 수 없다는 것입니다. 이것도 확인해 볼 가치가 있습니다.
Marco

2

/etc/cron.allow 및 /etc/cron.deny 파일을 확인하십시오. 해당 파일이 존재하면 사용자 이름이 /etc/cron.allow에 있는지 확인하십시오.


1
"다른 사용자 ($ USER)는이 프로그램을 사용할 수 없습니다 (
크론 탭

1

나는 같은 문제가 있었다. 이 방법으로 해결했습니다.

sudo crontab -u yourUser -e

도움이 되길 바랍니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.