Прежде всего, позвольте мне уточнить, что я искал через Ask Ubuntu и Stack Overflow, а также много гуглил, но не нашел конкретного решения моей проблемы.
Итак, я настраиваю среду веб-хостинга на сервере Ubuntu. Сервер работает под управлением Nginx как www-data
пользователь. Проблема, в которой я застрял, заключается в изоляции пользователей SSH.
С помощью заключенной в тюрьму установки я могу ограничить пользователя SSH своим собственным каталогом, но в то же время мне нужно предоставить веб-серверу доступ на запись в каталоги. Теперь, даже если пользователь находится в тюрьме, если он знает абсолютный путь к домашним каталогам любых других пользователей SSH (где веб-сервер имеет разрешения на запись), он сможет изменять содержимое (запись, удаление или что-либо еще) без ограничение с использованием веб-сервера.
Например, пользователь может выполнить скрипт PHP из /var/userone/sites/alter.php
, например:
file_put_contents('Creating a file with this text', '/var/usertwo/sites/create.php');
, чтобы создать новый файл create.php
в домашнем каталоге usertwo. Я прав?
В этом сценарии, как лучше изолировать пользователей SSH, чтобы они не могли просматривать / читать каталоги друг друга, поддерживая работу веб-сервера без каких-либо проблем с разрешениями? 1110] Любое правильное руководство будет высоко оценено.