crontab -e
루트가 아닌 사용자 (이 경우 postgres)로 Debian 서버 에서 명령 을 사용할 때 다음과 같은 이유로 편집 할 수 없습니다."/tmp/crontab.SJlY0Y/crontab" [Permission Denied]
crontab -l
반면에 잘 작동합니다. 이 문제를 어떻게 해결할 수 있습니까?
현재 권한은 다음과 같습니다.
$ ls -l /tmp/crontab.SJlY0Y/crontab
-rw------- 1 root postgres 1.2K Aug 3 11:44 /tmp/crontab.SJlY0Y/crontab
$ ls -l /var/spool/cron
total 12K
drwxrwx--T 2 daemon daemon 4.0K Sep 12 2012 atjobs
drwxrwx--T 2 daemon daemon 4.0K Jun 9 2012 atspool
drwx-wx--T 2 root crontab 4.0K Aug 3 11:15 crontabs
$ ls -l /var/spool/cron/crontabs
total 12K
-rw------- 1 git crontab 1.3K Mar 2 16:48 git
-rw------- 1 postgres crontab 1.4K Aug 3 11:15 postgres
-rw------- 1 root root 2.3K Jul 20 20:32 root
$ ls -l /usr/bin/crontab
-rwsr-xr-x 1 root root 36K Jul 3 2012 /usr/bin/crontab
$ ls -ld /tmp/
drwxrwxrwt 6 root root 4.0K Aug 3 11:43 /tmp/
$ ls -l /usr/bin/crontab -rwsr-xr-x 1 root root 36K Jul 3 2012 /usr/bin/crontab
소유권과 권한은 실제로
-rwxr-sr-x 1 root crontab 35880 Jul 3 2012 /usr/bin/crontab
Debian sarge 이후 crontab
로 버그 # 18333 에서 요청한대로 setuid 루트가 아닌 setgid crontab 입니다.
이것이 문제의 원인입니다. crontab
프로그램은 setuid가 아닌 setgid를 실행할 것으로 예상하므로 실행중인 사용자 및 그룹으로 임시 파일을 만들고 root
호출하는 사용자와 그룹 대신 호출자의 기본 crontab
그룹입니다.
cron
패키지를 다시 설치하십시오 .
apt-get --reinstall install cron
(루트). /var/spool/cron/crontabs
올바른 권한과 소유권이 있는지 확인하십시오 .
drwx-wx--T 2 root crontab 4096 Oct 8 2013 /var/spool/cron/crontabs
앞으로는 시스템 파일의 권한을 엉망으로 만들지 마십시오.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다