Как включить chrooted доступ SFTP к файлу в RHEL 6.5?

Я пытаюсь настроить chrooted доступ SFTP к серверу RHEL 6.5. Я выполнил стандартные шаги по редактированию файла sshd_config, чтобы они соответствовали любым пользователям группы chroot:

Match group prisoners ChrootDirectory /home/%u AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp 

а также установить

 Subsystem sftp internal-sftp 

Пользователь «test» имеет следующую директорию:

 [root@ip-10-0-1-158 ~]# ls -l /home/test total 4 drwxrwxr-x. 3 root prisoners 4096 Jul 20 17:55 SFTP 

(Я также рекурсивно устанавливаю права доступа и прав доступа в этом каталоге)

и находится в соответствующей группе:

 [root@ip-10-0-1-158 ~]# sudo -u test id uid=501(test) gid=498(prisoners) groups=498(prisoners) context=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 

Когда я пытаюсь редактировать или создавать файлы в каталоге / home / test / SFTP в качестве тестового пользователя через мой сеанс ssh, все работает по назначению. Если я вхожу в систему через WinSCP, я проверяю подлинность и вижу содержимое каталога / home / test (но не изменяю их). Однако это не позволяет мне просматривать, редактировать или создавать файлы в каталоге / home / test / SFTP.

Сообщение об ошибке WinSCP:

 Error listing directory '/SFTP'. Permission denied. Error code: 3 Error message from server: Permission denied 

Любая помощь будет принята с благодарностью.

Примечание. Я успешно настроил подобный chft-доступ sftp на RHEL 7 и изо всех сил стараюсь понять, почему пользовательские разрешения, похоже, не работают через SFTP.

  • Может использовать аутентификацию паролей с помощью SFTP, хотя «PasswordAuthentication no» в / etc / ssh / sshd_config
  • sshfs разрывает символические ссылки с сервера SFTP
  • SFTP и sudo с использованием клиента Windows?
  • Может ли lftp читать netrc для sftp-соединений
  • Как проверить файл автоматически по sftp?
  • Пользователь, зарегистрированный sftp, не отображается в `w`
  • Chdir не удается, даже если пользователь имеет домашний каталог, назначенный
  • Вход в консоль SSH работает, но SFTP не делает, почему?
  • 2 Solutions collect form web for “Как включить chrooted доступ SFTP к файлу в RHEL 6.5?”

    Примечание. Я успешно настроил подобный chft-доступ sftp на RHEL 7 и изо всех сил стараюсь понять, почему пользовательские разрешения, похоже, не работают через SFTP.

    Вероятно, этикетки SELinux пошли не так. Проверьте правильность и попытайтесь исправить их, используя

     # restorecon -RF / 

    Способ, которым я его настроил (для обучения классу программирования) в системе Debian:

    Сначала создайте пользователя. Вот сценарий, который я использую, он добавляет пользователя, создает домашний каталог, помещает их в группу группы заключенных, копирует в некоторые файлы по умолчанию, устанавливает разрешения и владельцы, создает базы данных sql и т. Д. Overkill для вас, вы можете использовать только первые несколько строк.

     #!/bin/bash # $1 is username to create # call as root@darkstar:~/ # ./script.sh username # add the user and put them in the jailusers group, set their home # directory so it is at http://www.example.com/username # and set their shell to /bin/false so they can't ssh in useradd -g jailusers -d /var/jailweb/www-example.com/$1 -s /bin/false $1 mkdir -p /var/jailweb/www-example.com/$1 # i copy some template files in for them - this is a programming class cp /root/jailtemplate-filez/*php /var/jailweb/www-example.com/$1 # fix the ownership of them - the /var/jailweb/www-example.com has been # chmodded as g+s so the webserver will be able to read all the files # note that this is NOT the ideal way to deal with this, but was needed # for my purposes chown $1.www-data /var/jailweb/www-example.com/$1 chown $1.www-data /var/jailweb/www-example.com/$1/index.php chmod -R 750 /var/jailweb/www-example.com/$1 # put their name on their front page sed -is/STUDENT/$1/g /var/jailweb/www-example.com/$1/index.php # generate a "random" password for sftp login salt="oh god there has to be a better way!" lpass=`echo $1 $salt | md5sum | cut -c 5-15` # generate a "different" "random" password # for them to use for mysql access mpass=`echo $1 $salt | md5sum | cut -c 13-22` # and set it for the userlogin programmatically echo $1:$lpass | chpasswd # create a sql scritp file to create their mysql accounts and # create a database for them, grant rights, etc cat webusers-mysql_template | sed s/USERNAME/$1/g | sed s/PASS/$mpass/g >> webusersusers.sql # put their mysql info into a php file in their web directory cat dbinfo.php-template | sed s/USERNAME/$1/g | sed s/PASSWORD/$mpass/g > /var/jailweb/www-example.com/$1/dbinfo.php # make sure the webserver can read it... this all SHOULD be setup for suexec # and having each user in their own primary group... then the sticky bit, etc # wouldn't be needed, but I'm lazy chown $1.www-data /var/jailweb/www-example.com/$1/dbinfo.php chmod 440 /var/jailweb/www-example.com/$1/*.php # if there needs to be a directory the webserver can # write to, uncomment these #mkdir -p /var/jailweb/www-example.com/$1/writeable #chown $1.www-data /var/jailweb/www-example.com/$1/writeable #chmod 770 /var/jailweb/www-example.com/$1/writeable 

    Затем в /etc/ssh/sshd_config обязательно раскомментируйте поставщика sftp по умолчанию и добавьте внутреннюю подсистему:

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

    Наконец, также в /etc/ssh/sshd_config добавьте свою группу. Я установил немного другой по умолчанию umask на мой –

     Match Group jailusers ChrootDirectory /var/jailweb ForceCommand internal-sftp -u 0027 

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

    Перезагрузите ssh-демона, и вам должно быть хорошо идти. Ваши пользователи должны иметь возможность добавлять / редактировать / удалять файлы в каталоге / username. Если вы хотите добавить общий каталог, вам необходимо создать его и изменить право собственности на него

    Interesting Posts

    Является ли HTTP-перенаправление рассмотренным как связанное соединение с помощью iptables?

    Как объединить несколько разделов в один виртуальный диск?

    Scientificfic Linux slate очистил виртуальную машину после перезагрузки

    Расширьте зашифрованный раздел LUKS для заполнения диска

    Настроить xmobar для отображения рабочих областей

    извлекать строки с определенным значением столбца с помощью команды awk

    Почему возврат игнорируется во время вывода в bash?

    Можно ли запустить Live Linux на ноутбуке с неисправным жестким диском?

    В vi / vim, как добавить в файл вместо его записи?

    Декодировать / суммировать журналы strace

    Внедрение оболочки Unix в C: Logging

    Есть ли ограничение для жестких ссылок для одного файла?

    Как проверить корректность XML-файла 4 ГБ?

    Почему удаление openjdk автоматически запускает установку альтернатив на zypper openSUSE?

    Временная метка каждой строки на экране GNU

    Linux и Unix - лучшая ОС в мире.