2008-09-24 6 views
7

Я хочу установить драгоценный камень на всех серверах приложений, но для установки gem требуется sudo-доступ - как включить sudo только для запуска этой команды capistrano?Cap invoke and sudo

Другими словами, я не хочу использовать sudo для всех моих рецептов развертывания, только когда я вызываю эту команду в командной строке.

ответ

12

Нашел - крышка Invoke COMMAND = "команду, которая требует Sudo" SUDO = 1

1

Я не совсем уверен, что я понимаю этот вопрос, но я думаю, вы спрашиваете, как ограничить судо одной конкретной командой и не должны предоставлять неограниченные возможности для нанесения вреда всем вашим разработчикам Ruby.

/etc/sudoers можно настроить, чтобы ограничить команды, которые пользователи могут вызывать как root. Он обычно устанавливается на ВСЕ, но вы можете предоставить только список разрешенных команд.

0

Было бы лучше использовать UNIX списки ACL или аналогичные разрешения для этого. Дайте доступ пользователю sudoer для развертывания, затем вы можете позвонить run "sudo do_something", и он будет доступным только на уровне доступа только для этого вызова.

Смежные вопросы