Назад | Перейти на главную страницу

Как изменить каталог SFTP по умолчанию

С участием proftpd вы можете изменить редактирование каталога по умолчанию /etc/proftpd.conf
DefaultRoot ~
изменить на
DefaultRoot ~ / музыка

Как я могу добиться того же результата с SFTP?

Я использую Ubuntu lucid, кстати.

Тай большое за вашу помощь.

К сожалению, у меня недостаточно репутации, чтобы давать комментарии, потому что все, что я хотел сделать, это подчеркнуть, насколько важен комментарий Ричарда Фэрхерста и как его следует добавить к «официальному ответу». Я видел людей здесь и в других местах, у которых возникли проблемы с установкой домашнего каталога пользователя или с тем, чтобы домашний каталог пользователя был "каталогом по умолчанию". Это просто потому, что в среде chroot корневой каталог больше не является /. Это означает, что любой другой путь должен быть относительно нового корневого пути. Пример:

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

Если вам действительно нужно сохранить домашний каталог пользователя в / home / user, но вы хотите иметь каталог по умолчанию для сеансов sftp, вы можете использовать параметр -d для internal-sftp. Как в этом примере:

Subsystem sftp internal-sftp
Match Group sftpusers
    ChrootDirectory /mnt/sftp
    ForceCommand internal-sftp -d /default

/ default - это каталог внутри / mnt / sftp. Обратите внимание, что здесь путь опять же относительно нового корня.

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

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

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

$ sudo usermod -d [certain path that you want to direct] username

Ответ lain был полезен, но в интересах большей ясности и не в зависимости от ссылки (так что я смогу найти его в следующий раз):

Поиск Интернет для ChrootDirectory, чтобы получить базовую документацию и настройку, я не буду копировать их здесь, а только укажу, как решить заданный вопрос.

Для выделенного файлового сервера используйте: Match Group *,!sudo так что любой, кто не является администратором, по умолчанию получает доступ только к chrooted sftp.

Устанавливать ChrootDirectory /home/%u - chroot основан на имени пользователя, а не на его домашнем каталоге

Убедитесь, что каталог пользователей в / home принадлежит root: root

Задайте путь к домашнему каталогу в / etc / passwd на каталог, в который вы хотите войти по умолчанию, но сделайте его относительно каталога chroot:

Если вы хотите, чтобы пользовательский acnt попал в / home / acnt / files /, установите passwd home для acnt в / files.

Убедитесь, что / home / acnt / files принадлежит acnt: acnt, чтобы пользователь мог писать в каталог, даже если / home / acnt / должен принадлежать root для работы chroot jail.

Я только что проделал то же самое с установкой Ubuntu Lucid 10.04. Ответ, кажется, заключается в том, чтобы заблокировать определенные логины для определенной папки. Единственным недостатком является то, что папка, к которой они привязаны, должна принадлежать root: root и не может быть доступна для записи пользователем, входящим в систему, чтобы ssh разрешил вход sftp работать. Итак, у них есть доступ только к другим папкам в папке, к которой они привязаны.

http://ubuntuforums.org/showthread.php?t=1057657

Кроме того, установка папки по умолчанию для пользователя с помощью «usermod -d» не меняет значение по умолчанию для этого пользователя, переходящего в корневую папку / папку при входе в sftp.

Если вы используете ProFTPD, взгляните на модуль ProFTPD SFTP.