SFTP Chroot запись в chrooted /

SFTP Chroot запись в chrooted /

Привет,

Я хотел бы писать от имени пользователя chroot в его /, но не могу.

Пример: у меня есть /home/sftponly/ChrootDirectory

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

Я хочу, чтобы он был доступен для записи, пока подключающийся пользователь не видит никаких подкаталогов. Есть какие-нибудь советы о том, что я делаю неправильно?

Мой sshd_config

Match User sftponly
  ChrootDirectory /home/sftponly
  ForceCommand internal-sftp
  AllowTcpForwarding no
  X11Forwarding no

решение1

Если я правильно понимаю, вы хотите, чтобы ваш пользователь мог писать в свой домашний каталог, находясь в chroot-окружении.

При подключении через sftp с включенным chroot происходит следующее:

  • пользователь помещается в основной каталог "chroot" (здесь, /home/sftponly)
    • Основной chroot-окружение должно принадлежать пользователю root и быть доступным только для чтения пользователям.
  • затем пользователь получает chrootсновав свой домашний каталог, как описано в разделе « /etc/passwdНачало работы с основным chroot».ЭтотДомашний каталог может быть доступен для записи пользователю.

Итак, если в /etc/passwd у вас есть такая строка:

sftponly:x:1002:1002:,,,:/home/sftponly:/bin/bash

sshd попытается перевести вашего пользователя в /home/sftponly/home/sftponly.

Так что если выабсолютно необходимоЧтобы выполнить chroot по этому точному пути, /home/sftponlyвам необходимо установить основной chroot sshd_config, например, так /home:

ChrootDirectory /home

Затем установите домашний каталогsftponlyв :/etc/passwd/sftponly

sftponly:x:1002:1002::/sftponly:/bin/bash

Тогда /home/sftponlyпользователь sftponly сможет записывать данные, без проблем.

Связанный контент