Como permitir que múltiplos usuários acessem o mesmo crontab no Debian Linux v8.4?

1

Eu estou tentando criar um crontab para um grupo de usuários, vamos chamar o grupo "testGroup". Existem 3 usuários, e eu quero dar a todos eles acesso ao mesmo crontab. Eu fiz alguma pesquisa e tentei adicionar cada usuário individual ao grupo crontab no arquivo / etc / group. Isso não funcionou, já que ainda há três crontabs separados para cada usuário. Isso é possível corrigir? Se sim, como eu faria isso?

Obrigado

    
por Michael 18.05.2016 / 17:49

1 resposta

1

Antecedentes

Não, cron não funciona da maneira que você supõe.

O daemon cron lê seus crontabs de dois lugares:

  • Todo o sistema /etc/crontab ;
  • Crontabs por usuário.

Não há conceito de crontabs por grupo de usuários.

Solução

O Debian personalizou cron , o que permite fazer o que você precisa com relativa facilidade. Para citar a página de manual cron(8) :

Additionally, in Debian, cron reads the files in the /etc/cron.d directory. cron treats the files in /etc/cron.d as in the same way as the /etc/crontab file (they follow the special format of that file, i.e. they include the user field). However, they are independent of /etc/crontab: they do not, for example, inherit environment variable settings from it. This change is specific to Debian see the note under DEBIAN SPECIFIC below.

Por isso eu faria o seguinte:

  1. Crie um grupo dedicado para o seu grupo de usuários. Vamos supor que seja "mycrontab".

  2. Adicione seus três usuários a esse grupo.

  3. Crie um arquivo em /etc/cron.d e torne-o de propriedade de root:mycrontab e tem bits de permissão definidos como 0660 ou rw-rw-r-- , ou seja, acesso de leitura / gravação ao usuário root e grupo mycrontab e acesso de leitura a todos os outros.

  4. Ensine a seus usuários sobre onde localizar esse arquivo e as regras sobre seu formato (eles podem ser colocados no arquivo na forma de comentários).

Observe que você pode precisar descobrir como lidar com o envio de e-mails para todos os usuários. Eu verificaria se não há problema em definir a variável de ambiente MAILTO obedecida por cron para uma lista separada por vírgula de endereços de e-mail primeiro (como [email protected],[email protected],[email protected] ) ou, se isso não for possível, você precisará definir um alias de email no MTA local ou no MTA que recebe emails gerados por cron em seu sistema e use o valor desse alias para a variável MAILTO .

Em resumo, por favor, dê as páginas de manual cron(8) e crontab(5) , pelo menos, um olhar superficial.

… e remova seus usuários do grupo crontab !

    
por 18.05.2016 / 18:33