6

У меня есть веб-сайт, на котором я хочу добавить ограниченный доступ к подпапке. Для этого я решил использовать CHROOT с SFTP (в основном я следовал по этой ссылке: http://shapeshed.com/chroot_sftp_users_on_ubuntu_intrepid/)

На данный момент я создал пользователя (sio2104) и группу (magento).После следования руководству мой список папок выглядит следующим образом:

-rw-r--r--  1 root root       27 2012-02-01 14:23 index.html
-rw-r--r--  1 root root       21 2012-02-01 14:24 info.php
drwx------ 15 root root     4096 2012-02-25 00:31 magento

Как вы можете видеть, я выбрал root:root - папка magento, которую я хотел заключить в тюрьму пользователя и ... все остальное, кстати. Также в папке magento я включил sio2104:magento во все, чтобы они могли получить доступ к тому, что хотят. Наконец, я добавил это в файл sshd_config:

#Subsystem sftp /usr/lib/openssh/sftp-server
Subsystem sftp internal-sftp

Match Group magento
        ChrootDirectory /usr/share/nginx/www/magento
        ForceCommand internal-sftp
        AllowTCPForwarding no
        X11Forwarding no
        PasswordAuthentication yes

#UsePAM yes

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

$ sftp sio2104@10.20.0.50
[....some debug....]
sio2104@10.20.0.50's password: 
debug1: Authentication succeeded (password).
Authenticated to 10.20.0.50 ([10.20.0.50]:22).
debug1: channel 0: new [client-session]
debug1: Requesting no-more-sessions@openssh.com
debug1: Entering interactive session.
Write failed: Broken pipe
Connection closed

Подробный режим не дает ничего, чтобы помочь. Кто-нибудь имеет представление о том, что я сделал не так? Если я пытаюсь войти через ssh или sftp с моим личным пользователем, все работает нормально.

3 ответа3

3

У меня такая же проблема.

Для chroot-dir необходимо указать владельца root и группу root. (chown root:root chroot-dir)

2

Попробуйте использовать каталог по умолчанию, отличный от каталога chroot.

Я установил /home /ftpman как каталог по умолчанию.

vi /etc/passwd

..
ftpman:x:1001:1002::/home/ftpman:/bin/bash

а также

ls -la /home

...
drwxr-xr-x  5 ftpman sftponly 4096 Jun 25 11:56 ftpman

Тогда у меня есть каталог chroot для /. И это работает для меня

vi /etc/ssh/sshd_config

...
Match Group sftponly
  X11Forwarding no
  AllowTcpForwarding no
  ChrootDirectory /
  ForceCommand internal-sftp
0

Я не уверен на 100% в этом, но насколько я понимаю процесс chroot, SSHd сначала будет работать как ваш пользователь, а затем попытается выполнить chroot. Это, очевидно, приведет к сбою, так как в системе невозможно получить доступ к sio2104 .

Попробуйте ослабить разрешение файловой системы в папке magento (chmod o+rx).

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