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,
cronreads the files in the/etc/cron.ddirectory. cron treats the files in/etc/cron.das in the same way as the/etc/crontabfile (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:
-
Crie um grupo dedicado para o seu grupo de usuários. Vamos supor que seja "mycrontab".
-
Adicione seus três usuários a esse grupo.
-
Crie um arquivo em
/etc/cron.de torne-o de propriedade deroot:mycrontabe tem bits de permissão definidos como0660ourw-rw-r--, ou seja, acesso de leitura / gravação ao usuárioroote grupomycrontabe acesso de leitura a todos os outros. -
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 !