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

0 ответов

Другие вопросы по тегам