Самый простой способ - использовать suders.d (через inludedir) для вашей конфигурации. Тогда вы могли бы иметь задания cron, которые могли бы помещать правила для каждого пользователя в этот каталог в любое время.
Директива #includedir может использоваться в / etc / sudoers для создания каталога sudo.d, в который вы можете добавить правила sudoers как часть ваших правил. Например, с учетом:
#includedir /etc/sudoers.d
sudo будет читать каждый файл в /etc/sudoers.d, пропуская имена файлов, заканчивающиеся на '~' или содержащие '.' символ, чтобы избежать проблем с менеджером пакетов или редактором временных / резервных файлов. Файлы анализируются в отсортированном лексическом порядке. То есть /etc/sudoers.d/01_first будет проанализирован до /etc/sudoers.d/10_second. Помните, что поскольку сортировка является лексической, а не числовой, /etc/sudoers.d/1_whoops будет загружен после /etc/sudoers.d/10_second. Использование одинакового количества лидирующих нулей в именах файлов может быть использовано, чтобы избежать таких проблем.
Обратите внимание, что в отличие от файлов, включаемых через #include, visudo не будет редактировать файлы в каталоге #includedir, если один из них не содержит синтаксическую ошибку. Все еще возможно запустить visudo с флагом ‑f для непосредственного редактирования файлов.
/etc/sudoers.d/joe будет присутствовать, когда вы хотите, чтобы у joe был доступ, и вы могли бы просто удалить файл, чтобы лишить его доступа.