내 사용자로 크론 작업을 설정하려고 합니다. 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