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

Использовать пользователя ubuntu по умолчанию для развертывания приложения или создавать отдельных пользователей?

У меня есть приложение Ruby on Rails, и я использую Capistrano для его развертывания на сервере.

Пользователь развертывания и пользователь, запускающий приложение, одинаковы - по умолчанию ubuntu пользователь. (это имеет доступ к sudo: ubuntu ALL=(ALL) NOPASSWD:ALL)

Возможно, эта настройка немного небезопасна, на случай, если в моем приложении Rails есть ошибка, которая позволяет получить доступ к системе через ubuntu пользователь?

Я думал сделать этих двух пользователей:

  1. deploy пользователь: имеет доступ только sudo для запуска / перезапуска nginx на сервере. Имеет SSH-доступ к серверу.
  2. railsrunner: нет доступа к sudo и нет доступа SSH (railsrunner:x:12345:12345::/nonexistent:/usr/sbin/nologin)

Это хороший подход? Есть ли преимущества в наличии deploy пользователь или railsrunner пользователь или я должен просто использовать ubuntu пользователь? (или что-то другое?)