Qual é o propósito de ter diferentes crontabs por usuário?

4

É apenas para controlar as permissões do script sendo chamado ou ele também afeta quando ou se o script é executado? Presumo que, se eu configurar um cron para um usuário não-root, ele deve sempre ser executado, mesmo que eu não tenha feito login como usuário desde a reinicialização, certo?

    
por BigOmega 10.05.2012 / 19:50

3 respostas

8

Lembre-se de que o Unix foi originalmente projetado como um sistema multiusuário, no qual várias pessoas usavam o mesmo computador físico. (Ao contrário de hoje, onde a maioria dos sistemas Unix é usada por apenas uma pessoa, e várias contas de usuário são apenas para limitar as vulnerabilidades.)

Assim, o motivo original dos crontabs por usuário era para que cada pessoa pudesse agendar os trabalhos que eles queriam executar periodicamente (sem dar permissões para editar o crontab do sistema e, assim, interferir nos trabalhos de outras pessoas). Mas agora, principalmente, é apenas para controlar as permissões dos trabalhos que estão sendo executados.

Então, sim, uma vez que um crontab é salvo, os trabalhos serão executados independentemente de o usuário estar logado (ou já tiver feito login). O principal daemon cron executa os crontabs por usuário, bem como o crontab do sistema.

    
por 10.05.2012 / 20:42
2

Observe também que as tarefas em crontabs não-root serão executadas como esse usuário. Enquanto nos diretórios /etc/crontab e /etc/cron.d , /etc/cron.daily etc., o administrador do sistema pode selecionar a conta do usuário em que o trabalho será executado, porque ele tem uma entrada adicional.

De man 5 crontab :

   The format of a cron command is very much the V7 standard,  with
   a  number  of  upward-compatible extensions.  Each line has five
   time and date fields, followed by a user name  if  this  is  the
   system  crontab  file, followed by a command.
    
por 10.05.2012 / 21:59
1

Basicamente, permite que um usuário sem privilégios tenha tarefas agendadas. E sim, você vai querer agendar tarefas se quiser que as coisas sejam feitas regularmente. E sim, ele persistirá durante as reinicializações.

em / batch fornece recursos semelhantes se você não quiser a semântica "periodicamente para sempre".

    
por 10.05.2012 / 20:40

Tags