crontab -e produz: /var/spool/cron/: mkstemp: Permissão negada

crontab -e produz: /var/spool/cron/: mkstemp: Permissão negada

Estou tentando configurar um cron job com meu usuário. Eu corro crontab -e, faço minhas edições e tento salvar e sair. Recebo a seguinte mensagem de erro /var/spool/cron/: mkstemp: Permission denied.

Saída relevante de 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

Posso editar diretamente o arquivo greg e salvá-lo, mas ainda não consigo executar o trabalho, mesmo se eu reiniciar o cron após atualizá-lo. O que preciso fazer para corrigir esse problema?

A saída de ls -lha $(which crontab)é:

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

A saída de groups gregé:

greg : greg adm sudo crontab lpadmin sambashare

Responder1

Isso resolverá seu problema imediato:

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

Mas, se você puder baixar pacotes, uma maneira mais robusta de corrigir isso é apt-getreinstalar o pacote apropriado:

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

depois de primeiro certificar-se de que todas as alterações locais feitas em /etc/init/cron.conf, /etc/default/cron, etc. sejam copiadas em algum lugar e reaplicadas.

Responder2

A solução mencionada por Mark Plotnick não funcionou para mim, porém depois de adicionar meu usuário ao crontabgrupo funcionou:

sudo adduser myname crontab

Você precisará sair e fazer login novamente para que esta alteração seja aplicada.

Responder3

No Ubuntu 22.04:

crontab ~/admin/scripts/crontab.txt

/var/spool/cron/: mkstemp: Permissão negada

$ ls -lha $(which crontab)

-rwxr-sr-x 1 root crontab 39K 23 de março de 2022 /usr/bin/crontab

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

ls: não é possível abrir o diretório '/var/spool/cron/crontabs': Permissão negada

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

total de 8,0 mil

drwx-wx--T 2 root systemd-journal 4.0K 2 de março de 2023 .

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

Portanto, precisamos de 2 grupos para execução do usuário para obter privilégios:

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

Faça logoff e logon novamente com o usuário ...

crontab ~/admin/scripts/crontab.txt

crontab -l

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

informação relacionada