Настройка сервера rails (Ubuntu 12.10) в DigitalOcean, и я хочу, чтобы пользователь без полномочий root запускал некоторые команды развертывания с правами доступа root , добавляя префикс sudo
к команде и вводя пароль. Я думал, что смогу редактировать visudo
как показано ниже, но в разрешениях отказано. Я что-то пропустил?
Defaults env_reset
Defaults mail_badpass
Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
# User privilege specification
root ALL=(ALL:ALL) ALL
nonrootuser ALL=(ALL:ALL) ALL
# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
# Allow members of group sudo to execute any command
%sudo ALL=(ALL:ALL) ALL
Я сделал nonrootuser членом группы deployers
на случай, если в будущем у меня будет несколько агентов развертывания. Эта группа не вызвана в visudo, но я не знаю, насколько это актуально, поэтому я упоминаю об этом здесь.
Команды как это терпят неудачу от моего блока разработки (не сервера.) Я ожидаю, что это добавит содержимое моего открытого ключа dev box в файл author_keys сервера на сервере после запроса пароля не-root-пользователя. Фактический результат - отказано в разрешениях.
cat ~/.ssh/id_rsa.pub | ssh -p 12345 nonrootuser@123.123.123.123 'cat >> ~/.ssh/authorized_keys'
Я попытался перезагрузить коробку полностью, и все еще без изменений. Я также попробовал sudo cat...
в моей пипетке безрезультатно.