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

С Rails, как выполнить sudo ./runner, несмотря на минимальный sudo PATH и gem не находится в / usr / bin

Мой контекст:

Вопрос:

Есть ли другие альтернативы (возможно, более элегантные - с минимальными изменениями) для запуска runner с sudo, когда gem не находится в / bin или / usr / bin?

Те, о которых я думаю (но не удовлетворен):

Может быть, есть способ с файлом конфигурации или аргументом командной строки для runner?

Вы должны уметь использовать env_file вариант в sudoers и поместите свой путь в файл, на который он указывает. Что-то вроде:

sudoers:

Cmnd_Alias    RUBY = /path/to/runner
Defaults!RUBY env_file=/path/to/rubypathfile
ALL ALL=(ALL) RUBY

/path/to/rubypathfile:

PATH=/usr/local/bin:/usr/bin:/bin

Вы также можете найти env_keep вариант полезный.

Взгляни на sudo sudo -V | less и посмотрите, расскажет ли он вам что-нибудь интересное. В частности, ищите слова "path" или "ruby" без учета регистра.