Força bruta!
crontab -u fred -e
%s/^/#/
:wq
Há provavelmente uma maneira mais elegante de fazer isso, mas a menos que você esteja fazendo isso o tempo todo, use o martelo que você tem.
Eu tenho uma lista de trabalhos nos crontabs para user1
, user2
. Eu quero impedir que os trabalhos de user2
sejam executados.
Eu tentei listar user2
em cron.deny
, mas isso apenas impede que ele acesse seu crontab
. As tarefas listadas em user2
' crontab
ainda são executadas.
Como desabilito as tarefas do cron para um usuário específico?
A maneira mais fácil de desabilitar o crontab para um usuário específico é localizar o crontab e renomeá-lo. A página man do Debian para cron diz:
cron searches its spool area (/var/spool/cron/crontabs) for crontab
files (which are named after accounts in /etc/passwd); crontabs found
are loaded into memory.
Apenas renomeie o arquivo para algo que não esteja na passwd, geralmente dando um sufixo como disabled
, offline
, dead
ou similar.
mv -vi /var/spool/cron/crontabs/user2 /var/spool/cron/crontabs/user2.disabled
No Debian (e em sistemas relacionados como o Ubuntu) isso produz a seguinte entrada em /var/log/syslog
:
(user2.disabled) ORPHAN (no passwd entry)
Certifique-se também de adicionar user2
ao arquivo /etc/cron.deny
, caso contrário o usuário poderá criar um novo crontab para si.
Reabilite o crontab do usuário excluindo a entrada de /etc/cron.deny
e renomeando seu crontab:
mv -vi /var/spool/cron/crontabs/user2.disabled /var/spool/cron/crontabs/user2
crontab -r username
funciona no Solaris para remover o crontab de um determinado nome de usuário.
Se -r
não funcionar para você, tente:
su username 'sh -c "crontab /dev/null"'
Mais rápido para digitar e mais fácil para o script do que crontab -e
.
Excluir /var/spool/cron/user1
ou user2
? e você também deseja adicionar esses nomes de usuário a /etc/cron.deny
, caso contrário, eles podem adicionar esses trabalhos do cron de volta
Se você quiser bloquear o trabalho do crontab para um usuário em particular, certifique-se de que o usuário logado com root, usuário root, tenha acesso apenas aos arquivos crontab. 1.Então, vá para o diretório dir / etc / cron.d nesse diretório, você pode ver que o arquivo cron.deny faz uma inserção do nome de usuário específico que o usuário deseja bloquear usando o editor vi ou orther.