
У меня есть сервер на базе 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
. По сути, это замена для root. - Пользователь B — обычный пользователь, использующий FileZilla. Он не может использовать SSH, только SFTP, и может видеть только
/var/www/files.ourcompany.com
когда он входит в систему. Он авторизован с помощью ключа SSH, который помещается в/etc/ssh/authorized_keys/userB
(как описаноздесь) - Пользователь C точно такой же, как и пользователь B, за исключением того, что
/etc/ssh/authorized_keys/userC
вместо этого у него есть ключ SSH
Возможно ли использовать вышеизложенное chroot
или что-то подобное? У пользователя A уже есть все необходимые разрешения, но я не уверен, как создать двух обычных пользователей, которые должны быть chrooted в одну и ту же папку (с возможностями загрузки/выгрузки) - - /var/www/files.ourcompany.com
так, чтобы при входе через FileZilla они сразу попадали в эту папку. Я также боюсь случайно сломать существующую настройку nginx из-за проблем с правами...