У меня есть приложение Ruby on Rails, и я использую Capistrano для его развертывания на сервере.
Пользователь развертывания и пользователь, запускающий приложение, одинаковы - по умолчанию ubuntu
пользователь. (это имеет доступ к sudo: ubuntu ALL=(ALL) NOPASSWD:ALL
)
Возможно, эта настройка немного небезопасна, на случай, если в моем приложении Rails есть ошибка, которая позволяет получить доступ к системе через ubuntu
пользователь?
Я думал сделать этих двух пользователей:
deploy
пользователь: имеет доступ только sudo для запуска / перезапуска nginx
на сервере. Имеет SSH-доступ к серверу.railsrunner
: нет доступа к sudo и нет доступа SSH (railsrunner:x:12345:12345::/nonexistent:/usr/sbin/nologin
)Это хороший подход? Есть ли преимущества в наличии deploy
пользователь или railsrunner
пользователь или я должен просто использовать ubuntu
пользователь? (или что-то другое?)