1

Я следовал за этим, чтобы ограничить пользователя определенным каталогом, и он отлично работает, но мне нужно изменить пользователя в каталоге, который

/dir1/dir2/dir3/dir4

Предположим, что dir1 принадлежит root, dir2 - www-data, dir3 - www-data и dir4 - root, и что я не могу изменить такое положение вещей и не могу использовать другое программное обеспечение для достижения своей цели.

Корень sshd работает для dir1, но не для dir4, даже если он принадлежит root, может быть, для dir2 и dir3 нет.

Как мне это сделать?

1 ответ1

1

Извините, решение было в последнем абзаце страницы под названием «Доступ для записи в каталог chroot»

Цитата:«Как и выше, если пользователь может писать в каталог chroot, он может повысить свои привилегии до root и избежать chroot. Одним из способов решения этой проблемы является предоставление пользователю двух домашних каталогов - одного "реального" дома, в который они могут писать, и одного SFTP-дома, который заблокирован для обеспечения безопасности sshd и безопасности вашей системы. Используя mount --bind, вы можете сделать так, чтобы настоящий домашний каталог отображался как подкаталог в домашнем каталоге SFTP, предоставляя им полный доступ к их реальному домашнему каталогу. Это также может быть использовано для достижения других целей. Например, домашний каталог пользователя может быть заблокирован в соответствии с правилами sshd chroot и привязывать монтирования, используемые для предоставления пользователям доступа к другим каталогам:

  # mkdir /home/user/web
  # mount --bind /srv/web/example.com /home/user/web

Необязательно добавьте запись в /etc /fstab:

  # echo '/srv/web/example.com/ /home/user/web        none    bind' >> /etc/fstab

Теперь пользователь может войти в систему с SFTP, они привязаны к /home /user, но они видят папку "web", к которой они могут обращаться для манипулирования файлами на веб-сайте (при условии, что у них есть правильные разрешения в /srv /web /example .com «.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .