Фон
Нет, cron
не работает так, как вы предполагаете.
Демон cron
читает свои crontabs из двух мест:
- Общесистемный
/etc/crontab
;
- Пользовательские crontabs.
Не существует концепции crontabs для каждой группы пользователей.
Решение
Debian имеет настраиваемый cron
который позволяет относительно легко делать то, что вам нужно. Чтобы процитировать справочную страницу cron(8)
:
Кроме того, в Debian cron
читает файлы в каталоге /etc/cron.d
. cron обрабатывает файлы в /etc/cron.d
так же, как и файл /etc/crontab
(они следуют специальному формату этого файла, т.е. включают в себя поле пользователя). Однако они не зависят от /etc/crontab
: они, например, не наследуют настройки переменных среды из него. Это изменение относится только к Debian, см. Примечание под DEBIAN SPECIFIC ниже.
Следовательно, я бы сделал следующее:
Создайте выделенную группу для вашей группы пользователей. Давайте предположим, что это "mycrontab".
Добавьте своих трех пользователей в эту группу.
Создайте файл в /etc/cron.d
и сделайте его владельцем root:mycrontab
и установите для него биты разрешений 0660
или rw-rw-r--
, то есть права на чтение / запись для пользователя root
и группы mycrontab
и доступ для чтения всем остальным.
Научите своих пользователей, где найти этот файл, и правилам его формата (они могут быть размещены в файле в виде комментариев).
Обратите внимание, что вам может понадобиться выяснить, как обрабатывать отправку писем всем вашим пользователям. Я бы проверил, можно ли вначале установить переменную среды MAILTO
подчиняется cron
в список адресов электронной почты, разделенных запятыми (например, joe@domain.lan,jane@domain.lan,jill@domain.lan
) или, в противном случае вам, вероятно, потребуется настроить почтовый псевдоним либо в локальном MTA, либо в MTA, получающем почту, генерируемую cron
в вашей системе, и использовать значение этого псевдонима для переменной MAILTO
.
В общем, пожалуйста, взгляните на страницы справочника cron(8)
и crontab(5)
хотя бы бегло.
... и, пожалуйста, удалите своих пользователей из группы crontab
!