У меня есть сервер на базе Ubuntu, который, помимо прочего, действует как хранилище / хостинг файлов (работает на nginx), так что если файл помещается в /var/www/files.ourcompany.com/file.txt
, он общедоступно по адресу http://files.ourcompany.com/file.txt
.
Я хочу ограничить возможности сервера тремя конкретными пользователями:
- Пользователь A - это общий пользователь с поддержкой sudo, у которого есть доступ по SSH и SFTP ко всему. Он авторизуется своими ключами SSH в
/home/userA/.ssh/authorized_keys
. По сути это замена рута. - Пользователь B - это обычный пользователь, который использует FileZilla. Он не может использовать SSH, только SFTP, и может видеть
/var/www/files.ourcompany.com
только при входе в систему. Он авторизуется через ключ SSH, который помещен в/etc/ssh/authorized_keys/userB
(как описано здесь) - Пользователь C точно такой же, как пользователь B, за исключением того, что вместо него он использует свой ключ SSH в
/etc/ssh/authorized_keys/userC
Возможно ли вышеизложенное с использованием chroot
или чего-то подобного? Пользователь A уже обладает всеми необходимыми разрешениями, но я не уверен, как создать двух обычных пользователей, которые оба должны быть привязаны к одной и той же папке (с возможностью выгрузки / загрузки) - /var/www/files.ourcompany.com
- так что при входе через FileZilla они сразу помещаются в эту папку. Я также боюсь случайно сломать существующую настройку nginx из-за проблем с правами ...