crontab -e ergibt: /var/spool/cron/: mkstemp: Zugriff verweigert

crontab -e ergibt: /var/spool/cron/: mkstemp: Zugriff verweigert

Ich versuche, einen Cron-Job unter meinem Benutzer einzurichten. Ich führe crontab -e aus, nehme meine Änderungen vor und versuche zu speichern und zu beenden. Ich erhalte die folgende Fehlermeldung /var/spool/cron/: mkstemp: Permission denied.

Relevante Ausgabe von 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

Ich kann die Greg-Datei direkt bearbeiten und speichern, aber ich kann den Job trotzdem nicht ausführen, selbst wenn ich Cron nach der Aktualisierung neu starte. Was muss ich tun, um dieses Problem zu beheben?

Die Ausgabe von ls -lha $(which crontab)ist:

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

Die Ausgabe von groups gregist:

greg : greg adm sudo crontab lpadmin sambashare

Antwort1

Dadurch wird Ihr unmittelbares Problem behoben:

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

Wenn Sie jedoch Pakete herunterladen können, können Sie das Problem zuverlässiger beheben, indem Sie apt-getdas entsprechende Paket neu installieren:

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

nachdem Sie zunächst sichergestellt haben, dass alle lokalen Änderungen, die Sie an /etc/init/cron.conf, /etc/default/cronusw. vorgenommen haben, irgendwohin kopiert und dann erneut angewendet wurden.

Antwort2

Die von Mark Plotnick erwähnte Lösung hat bei mir nicht funktioniert. Nachdem ich meinen Benutzer jedoch zur crontabGruppe hinzugefügt hatte, funktionierte es:

sudo adduser myname crontab

Sie müssen sich ab- und erneut anmelden, damit diese Änderung übernommen wird.

Antwort3

In Ubuntu 22.04:

crontab ~/admin/scripts/crontab.txt

/var/spool/cron/: mkstemp: Zugriff verweigert

$ ls -lha $(which crontab)

-rwxr-sr-x 1 root crontab 39K 23. März 2022 /usr/bin/crontab

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

ls: Verzeichnis „/var/spool/cron/crontabs“ kann nicht geöffnet werden: Berechtigung verweigert

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

insgesamt 8.0K

drwx-wx--T 2 root systemd-journal 4.0K 2. März 2023 .

drwxr-xr-x 3 root root 4.0K 22. Juli 09:48 ..

Wir benötigen also zwei Gruppen für die Benutzerausführung, um Berechtigungen zu erhalten:

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

Abmelden und erneut mit Benutzer ... anmelden.

crontab ~/admin/scripts/crontab.txt

crontab -l

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

verwandte Informationen