Убунту 14.04
Я не понимаю, поведение, которое я вижу при настройке crontab для учетной записи службы (без входа в систему) (по имени curator
).
Когда я вошел в систему как root, это то, что я получаю:
# crontab -u curator -l
The user curator cannot use this program (crontab)
Но когда я переключаюсь на учетную запись пользователя, она работает нормально:
# su -s /bin/bash curator
curator@host$ crontab -l
no crontab for curator
В системе нет пустого /etc/cron.allow
файла и нет /etc/cron.deny
файла. По словам man crontab
:
Если файл /etc/cron.allow существует, то вы должны быть в нем (по одному пользователю на строку), чтобы иметь возможность использовать эту команду. Если файл /etc/cron.allow не существует, но файл /etc/cron.deny существует, вы не должны быть указаны в файле /etc/cron.deny для использования этой команды.
Я понимаю ошибку, когда запускаю первую команду, но почему она позволяет мне запускаться, crontab
когда я явно переключаюсь на учетную запись пользователя?
Добавление пользователя /etc/cron.allow
заставляет обе команды работать нормально.
crontab -e
(как куратор пользователя)?cron.allow
файлом,root
crontab -u vagrant -l
иcrontab -l
как и какvagrant
результат вare not allowed to use this program
сообщении (которое отличается от сообщения, которое вы цитируете).Ответы:
Я проверил источники crontab и обнаружил, что если пользователь не может открыть
/etc/cron.allow
(например, послеchmod 0 /etc/cron.allow
), crontab думает, что ему разрешено использовать его (как будтоcron.allow
его не существует).Но root может прочитать любой файл, поэтому код проверки crontab работает как положено. Поэтому я рекомендую вам сначала проверить разрешения
/etc/cron.allow
и, возможно, журналы аудита SELinux / AppArmor.источник
chmod -r /etc/cron.allow
действительно вызывает описанное поведение в моей системе Ubuntu 14.04/etc/cron.allow
разрешения были600
, после изменения его на644
обаroot
иcurator
увиделnot allowed to use this program (crontab)
сообщение. Затем после добавленияcurator
к/etc/cron.allow
обоим можно использовать кураторский crontab.