crontab -e 결과: /var/spool/cron/: mkstemp: 권한이 거부되었습니다.

crontab -e 결과: /var/spool/cron/: mkstemp: 권한이 거부되었습니다.

내 사용자로 크론 작업을 설정하려고 합니다. crontab -e를 실행하고 편집한 다음 저장하고 종료하려고 합니다. 다음과 같은 오류 메시지가 나타납니다 /var/spool/cron/: mkstemp: Permission denied.

ls -al /var/spool/cron/crontabs의 관련 출력

drwxr-xr-x 2 root crontab 4096 Nov  4 10:09 .
drwxr-xr-x 5 root root    4096 Nov 19  2014 ..
-rw-rw-rw- 1 greg crontab   91 Nov  4 11:04 greg
-rw------- 1 root crontab 1231 Oct 29 16:18 root

greg 파일을 직접 편집하고 저장할 수 있지만 업데이트 후 cron을 다시 시작해도 작업을 실행할 수 없는 것 같습니다. 이 문제를 해결하려면 어떻게 해야 합니까?

출력은 다음과 ls -lha $(which crontab)같습니다.

-rwxr-sr-x 1 root crontab 36K Feb  8  2013 /usr/bin/crontab

출력은 다음과 groups greg같습니다.

greg : greg adm sudo crontab lpadmin sambashare

답변1

그러면 즉각적인 문제가 해결됩니다.

chmod u=rwx,g=wx,o=t /var/spool/cron/crontabs

그러나 패키지를 다운로드할 수 있는 경우 이 문제를 해결하는 보다 강력한 방법은 apt-get적절한 패키지를 다시 설치하는 것입니다.

root@ubuntu# dpkg-query -S /var/spool/cron/crontabs
cron: /var/spool/cron/crontabs
root@ubuntu# apt-get install --reinstall cron

/etc/init/cron.conf먼저 , /etc/default/cron등에 대한 로컬 변경 사항이 어딘가에 복사된 다음 다시 적용되었는지 확인한 후 .

답변2

Mark Plotnick이 언급한 솔루션은 나에게 효과가 없었지만 내 사용자를 그룹에 추가한 후에는 crontab효과가 있었습니다.

sudo adduser myname crontab

이 변경 사항을 적용하려면 로그아웃했다가 다시 로그인해야 합니다.

답변3

우분투 22.04에서:

crontab ~/admin/scripts/crontab.txt

/var/spool/cron/: mkstemp: 권한이 거부되었습니다.

$ ls -lha $(which crontab)

-rwxr-sr-x 1 루트 crontab 39K 2022년 3월 23일 /usr/bin/crontab

~$ ls -lha /var/spool/cron/crontabs

ls: '/var/spool/cron/crontabs' 디렉터리를 열 수 없습니다: 권한이 거부되었습니다.

~$ sudo ls -lha /var/spool/cron/crontabs

총 8000개

drwx-wx--T 2 루트 systemd-journal 4.0K 2023년 3월 2일 .

drwxr-xr-x 3 루트 루트 4.0K 7월 22일 09:48 ..

따라서 권한을 얻으려면 사용자 실행을 위한 2개의 그룹이 필요합니다.

sudo usermod -a -G systemd-journal <user>
sudo usermod -a -G systemd-journal <user>

로그오프하고 사용자로 다시 로그온하십시오...

crontab ~/admin/scripts/crontab.txt

crontab -l

0 */1 * * * ~/admin/scripts/elasticsearch_flush.sh > /dev/null 2>&1

관련 정보