crontab: "Crontab temporário não é mais de sua propriedade."

crontab: "Crontab temporário não é mais de sua propriedade."

Reverti do Linuxmint 18 Cinnamon 64 bits para Linuxmint 17.3 Cinnamon 64 bits e não consigo mais criar um cron job. Eu tenho partições raiz (/) e inicial (/home/meu-nome de usuário) separadas e deixei a partição inicial intacta quando fiz a instalação do 17.3.

Eu estava tendo todo tipo de dificuldade para criar um cron job, então instalei o gnome-scheduler e tentei criar um cron job dessa forma. Recebi uma caixa de diálogo de aviso intitulada

"Aviso: Diretório de trabalho de tarefas executadas"

e o conteúdo da mensagem é

"Observação sobre o diretório de trabalho das tarefas executadas: as tarefas recorrentes serão executadas a partir do diretório inicial."

Cliquei em OK e o trabalho aparece no terminal da seguinte forma:

$ crontab -l
* * * * * env DISPLAY=:0 /home/my-user-name/wallpaper_changer.sh >/dev/null 2>&1 # JOB_ID_4

Meu papel de parede não muda a cada minuto como deveria. O script funciona perfeitamente na linha de comando e não produz saída. As permissões são 744 octais para o script. Tudo funcionou bem no Mint 18, mas eu executava o script apenas uma vez por dia. Eu configurei para rodar a cada minuto apenas para fins de teste.

Se eu tentar o método normal de edição do cron job, recebo

$ crontab -e
Temporary crontab no longer owned by you.
Error while editing crontab

Então recebo um buffer nano vazio em vez do modelo crontab normal cheio de linhas comentadas. Quando tento escrever meu buffer nano no arquivo /tmp/crontab.lmuwIe/crontab recebo esta mensagem de erro:

[Erro ao escrever /tmp/lmuwIe/crontab: Permissão negada]

Finalmente,

$ ls -l /usr/bin/crontab
-rwsr-xr-x 1 root crontab 35984 Feb  9  2013 /usr/bin/crontab

Será que algum dia poderei criar um cron job novamente?

$ sudo ls -la /var/spool/cron/crontabs
total 12
drwx-wx--T 2 root crontab      4096 Sep 25 03:23 .
drwxr-xr-x 5 root root         4096 Sep 23 00:05 ..
-rw------- 1 root my-user-name  188 Sep 25 03:23 my-user-name

@Gilles Bem, fiz muito progresso. Eu me livrei de toda a estranheza do erro reinstalando o cron. Agora tudo funciona como deveria quando eu uso

$ crontab -e

excetoque o script que uso há anos não funciona.

Mas outro script é executado; então estou perdido.

Aqui está o que tenho agora:

$ crontab -l
* * * * * env DISPLAY=:0.0 /home/my-user-name/wallpaper_changer.sh
* * * * * date >> /home/my-user-name/crontest.txt

(Não incluí as 20 linhas de comentários que precedem os cron jobs.)

O trabalho de data é executado exatamente como deveria, mas o trabalho wallpaper_changer.sh não faz nada. Eu uso isso há anos e agora não funciona. O script funciona bem na linha de comando e costumava funcionar bem no cron.

$ ls -l /home/my-user-name/wallpaper_changer.sh
-rwxr-xr-x 1 my-user-name my-user-name 694 Jun  2 14:30 /home/my-user-name/wallpaper_changer.sh

$ echo $DISPLAY
:0.0

O que há com isso?

Responder1

Você precisa editar as permissões no binário crontab e configurá-las de volta ao que são quando você faz uma nova instalação.

NÃO FUNCIONA permissões:

ls -la /usr/bin/crontab
-rwsr-xr-x 1 root crontab 40264 Oct  7  2017 /usr/bin/crontab

Ação, faça como root ou usando sudo:

chmod g+s /usr/bin/crontab
chmod u-s /usr/bin/crontab

Permissões de TRABALHO:

ls -la /usr/bin/crontab
-rwxr-sr-x 1 root crontab 40264 Oct  7  2017 /usr/bin/crontab

Retiradas de uma nova instalação de trabalho, as permissões de trabalho são definidas durante a instalação.

Não faço ideia por que eles mudaram mais tarde.

Responder2

$ sudo ls -la /var/spool/cron/crontabs
total 12
drwx-wx--T 2 root crontab      4096 Sep 25 03:23 .
drwxr-xr-x 5 root root         4096 Sep 23 00:05 ..
-rw------- 1 root my-user-name  188 Sep 25 03:23 my-user-name

A propriedade de /var/spool/cron/crontabs/my-user-nameestá errada. Você deveria ser o proprietário. Isso explicaria por que o cron não pode sobrescrever o arquivo. Além disso, o arquivo normalmente estaria em crontabgrupo, mas não acho que isso importe.

Você pode corrigir isso executando

sudo chown my-user-name /var/spool/cron/crontabs/my-user-name

Não sei o que poderia ter causado isso e não vejo como isso poderia estar relacionado a um downgrade do sistema. Os problemas subjacentes podem causar outros problemas.

informação relacionada