У меня есть сервер на базе 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 из-за проблем с правами ...

0