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