Использовать пользователя по умолчанию `ubuntu` для развертывания приложения или создания отдельных пользователей?
У меня есть приложение 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 пользователь? (или что-то другое?)