1

Я пытаюсь создать crontab для группы пользователей, давайте назовем группу "testGroup". Есть 3 пользователя, и я хочу дать всем им доступ к одному и тому же crontab. Я провел небольшое исследование и попытался добавить каждого отдельного пользователя в группу crontab в файле /etc /group. Однако это не сработало, поскольку для каждого пользователя есть еще 3 отдельных crontab. Это можно исправить? Если так, то как бы я поступил так?

Спасибо

1 ответ1

1

Фон

Нет, 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 ниже.

Следовательно, я бы сделал следующее:

  1. Создайте выделенную группу для вашей группы пользователей. Давайте предположим, что это "mycrontab".

  2. Добавьте своих трех пользователей в эту группу.

  3. Создайте файл в /etc/cron.d и сделайте его владельцем root:mycrontab и установите для него биты разрешений 0660 или rw-rw-r-- , то есть права на чтение / запись для пользователя root и группы mycrontab и доступ для чтения всем остальным.

  4. Научите своих пользователей, где найти этот файл, и правилам его формата (они могут быть размещены в файле в виде комментариев).

Обратите внимание, что вам может понадобиться выяснить, как обрабатывать отправку писем всем вашим пользователям. Я бы проверил, можно ли вначале установить переменную среды MAILTO подчиняется cron в список адресов электронной почты, разделенных запятыми (например, joe@domain.lan,jane@domain.lan,jill@domain.lan) или, в противном случае вам, вероятно, потребуется настроить почтовый псевдоним либо в локальном MTA, либо в MTA, получающем почту, генерируемую cron в вашей системе, и использовать значение этого псевдонима для переменной MAILTO .

В общем, пожалуйста, взгляните на страницы справочника cron(8) и crontab(5) хотя бы бегло.

... и, пожалуйста, удалите своих пользователей из группы crontab !

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .