#ruby-on-rails #unix #capistrano
#ruby-on-rails #unix #capistrano
Вопрос:
В настоящее время я развертываю свое приложение Rails 3.1 с помощью пользователя «root». Я знаю, что это плохо 🙂 но какого пользователя я должен использовать? Почему ? И какие разрешения я должен установить для файлов, чтобы Apache / Passenger и т. Д. Могли Получить к ним доступ?
Спасибо за вашу помощь, я хотел бы понять, что происходит за пределами поверхности.
Ответ №1:
Одним из способов настройки пользователя / разрешений для чего-то подобного тому, что вы описали, было бы создать нового пользователя специально для вашего приложения и изменить владельца / группу каталога развертывания вашего приложения и его содержимого на yourappuser:apache
.
Идея состоит в том, чтобы запретить любые операции от всех, кроме from yourappuser
, который должен уметь делать все, и apache, который должен иметь возможность читать его содержимое.
Чтобы сделать это, вы можете затем изменить разрешения для этой папки, чтобы разрешить ее владельцу чтение / запись / выполнение, а его группе — чтение ее содержимого, запретив все другим пользователям (например, 740).
Существует много других подходов, но я склонен использовать этот.
Комментарии:
1. 1, за исключением того, что я не утруждаю себя добавлением Apache в качестве пользователя в каталог моего приложения.
2. Я имел в виду как группу… Если вы отключите внешний доступ и не добавите «apache» в качестве группы каталогов, он не сможет его использовать.
3. Да, если вы установите для своих разрешений что-то вроде 755, вам не нужно добавлять группу apache. IDK, который является лучшей настройкой.
4. Это подход, который я вижу чаще всего. Однако я считаю, что тот, который я указал, немного более безопасен, поскольку «посторонние» даже не могут прочитать ваш контент.