o crontab é setuid. Assim, os usuários podem atualizar seu crontab.
Qual versão do cron você está executando. Se você estiver executando uma versão que suporte a colocação de fragements em /etc/cron.d
, então você deve fazer isso.
Aqui está um problema estranho. Eu quero fazer crontab para um usuário que é somente leitura para esse usuário em particular e só pode ser gerenciado via root. Parece fácil? Aqui está o truque:
$ ls -alh /var/spool/cron/my_user -r-------- 1 root root 386 May 8 15:13 /var/spool/cron/my_user
Portanto, o arquivo é de propriedade / agrupado para raiz e tem apenas privilégios de leitura (0400) para raiz.
O problema:
$ su - my_user my_user~$ crontab -e (write something to the crontab) crontab: installing new crontab $ ls -alh /var/spool/cron/my_user -rw------- 1 my_user my_user 386 May 8 15:13 /var/spool/cron/my_user
Assim, um arquivo pertencente a root, com privilégios somente leitura por raiz, poderia ser lido por um usuário não privilegiado e, em seguida, modificado para um 0600 (rw) e pertencente a esse usuário?
Que óbvio sinto falta?
Use o arquivo / etc / crontab do sistema em vez de um contab de usuário.
Você pode adicionar o usuário a /etc/cron.deny
. Isso negará ao usuário o acesso ao comando crontab
e ela não poderá mais editar seu crontab.
AFAICT uma entrada em /etc/cron.deny
não não desativa os cronjobs definidos.
Você pode tornar /var/spool/cron/my_user
imutável depois de instalar as modificações desejadas para evitar alterações.
sudo chattr +i /var/spool/cron/my_user
Tags permissions cron