Назад | Перейти на главную страницу

Изменить других пользователей Crontab

У меня есть сценарий (развертывания), который запускается под моим пользователем «я», и он должен изменить crontab пользователя «ruby-server». Правильно ли я, что опция -u (crontab) мне не очень помогает, если я не использую sudo или su? Есть ли способ изменить crontab других пользователей без sudo или su. (У меня есть доступ ко всей системе.)

Почему эта проблема спросите вы? Ответ: Если я развертываю приложение как «я» и запускаю его как «ruby-server», очевидно, что я хочу записать crontab как «я», но команды должны быть в crontab «ruby-server». Потому что, если кто-то другой развертывает, мы должны изменить тот же crontab того же пользователя

[изменить 1]

У меня есть группа пользователей («разработчики»), у которых есть доступ к серверу. У меня есть один пользователь («ruby-server»), который имеет доступ через ssh и закрытый ключ к другому серверу для получения некоторых файлов. Эта копия написана через rsync и должна запускаться каждый день. Теперь, я думаю, было бы круто, если бы «деплояторы» могли писать в crontab «ruby-server», чтобы указать / изменить способ копирования файлов. Идеи?

Если в вашей системе есть ACL, вы можете предоставить разработчикам доступ к файлу cron. Если все разработчики являются частью группы с именем «deployers», вы можете изменить файл crontab с помощью команды, показанной ниже, которая позволит членам группы изменять его.

setfacl -m g:wheel:rx /var/spool/cron/ # Grant read access to the directory
setfacl -m g:deployers:rw /var/spool/cron/ruby-server 

Имейте в виду, что / var / spool / cron / ruby-server должен иметь соответствующие разрешения: «chmod 0600 / var / spool / cron / ruby-server» исправит это, если вы увидите сообщение «BAD FILE MODE» в / var / журнал / cron

Кроме того, в файловой системе должен быть включен список контроля доступа, достаточно выполнить что-то вроде "tune2fs -l / dev / mapper / blah | grep -i acl" (замените / dev / mapper / blah раздел, содержащий ваш / var / spool / cron каталог)

Есть ли способ изменить crontab других пользователей без sudo или su

AFAIK, нет никакого способа. Тебе нужно sudo разрешение сначала переключиться на другого пользователя и создать задания cron. Почему ты не хочешь использовать su или sudo а у вас есть полный доступ к системе?