Ubuntu sftp chroot Jail путь не читается?

390
FireyFly

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

Проблема в:

Я настроил правильный sshd_config, по крайней мере, я надеюсь, что сделал все правильно ...

Subsystem sftp internal-sftp  Match Group sftpusers ChrootDirectory /var/www AllowTCPForwarding no X11Forwarding no ForceCommand internal-sftp 

Оба / var / www имеют права доступа 755 root: root. Да, я перезапустил мою службу SSH бесчисленное количество раз. Да, я прочитал около 30 сообщений от stackoverflow о подобных вещах, но никогда не находил ничего, даже тесно связанного с моей проблемой.

Теперь, когда я выполнил предварительные условия, возникает настоящая проблема: когда я пытаюсь подключиться с SFTP, это то, что я вижу в журнале аутентификации:

Nov 8 22:38:07 hidden_server_name sshd[7436]: Accepted password for wordpress_user from imagine_my_hp_address_here port 49508 ssh2 Nov 8 22:38:07 hidden_server_name sshd[7436]: pam_unix(sshd:session): session opened for user wordpress_user by (uid=0) Nov 8 22:38:07 hidden_server_name systemd: pam_unix(systemd-user:session): session opened for user wordpress_user by (uid=0) Nov 8 22:38:07 hidden_server_name systemd-logind[1462]: New session 241 of user wordpress_user. Nov 8 22:38:07 hidden_server_name sshd[7481]: fatal: bad ownership or modes for chroot directory component "/" Nov 8 22:38:07 hidden_server_name sshd[7436]: pam_unix(sshd:session): session closed for user wordpress_user Nov 8 22:38:07 hidden_server_name systemd-logind[1462]: Removed session 241. 

Естественно, «wordpress_user» является членом группы «sftpusers», проблема в этой строке:

Nov 8 22:38:07 hidden_server_name sshd[7481]: fatal: bad ownership or modes for chroot directory component "/" 

Почему он хочет получить доступ к корневому каталогу сервера, когда он явно установлен в / var / www?

Даже несколько раз пытался изменить домашний каталог для всех видов вещей пользователя.

Кто-нибудь, пожалуйста, избавь меня от этой головной боли, это больно! : D

0

2 ответа на вопрос

0
harrymc

Это по замыслу.

Строгие разрешения заставят вас заполнить /var/www/каталог как root файлами и подкаталогами, выбранными для вашего пользователя или группы. Это не оптимально.

Лучше создать подкаталог, /var/www/позволяющий пользователю писать в него, оставляя /var/www/root.

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

sudo chown root:root /var/www/ sudo chmod u=rwx,g=rx,o=rx /var/www/  sudo mkdir /var/www/site1/ sudo chgrp sftponly /var/www/site1 sudo chmod u=rwx,g=rwxs,o=rx /var/www/site1/ 

В файле конфигурации вашего SSH-сервера добавьте вот так:

Match group sftponly ChrootDirectory /var/www/ X11Forwarding no AllowTcpForwarding no ForceCommand internal-sftp -d site1 

Источник: Перезагрузить страницу плохое владение или режимы для каталога chroot "/ var / www" .

Спасибо за попытку помочь. К сожалению, по-прежнему возникает та же проблема :( даже в статье, которую вы указали в качестве источника, у парня есть ошибка с: "fatal: bad owner или режимы для каталога chroot" / var / www "", с чем у меня возникает ошибка , "/", даже если каталог chroot установлен. FireyFly 5 лет назад 0
Попробуйте, возможно, использовать папку прямо под `/`, которая подчиняется ограничению. harrymc 5 лет назад 0
Ничего не работает :( Возможно, есть какие-то настройки в sshd_config, которые могут помешать мне работать? РЕДАКТИРОВАТЬ: я имею в виду, что есть много других настроек, кроме этих, но есть ли какие-нибудь, которые могли бы сделать это? FireyFly 5 лет назад 0
0
Kenster
ChrootDirectory /var/www ... bad ownership or modes for chroot directory component "/" 

Параметр ChrootDirectory требует, чтобы каталог chroot и все его родительские каталоги принадлежали root. Из документации (выделение добавлено):

ChrootDirectory
Указывает путь к каталогу для chroot (2) после аутентификации. При запуске сеанса sshd (8) проверяет, что все компоненты пути являются корневыми каталогами, которые не доступны для записи любому другому пользователю или группе . После chroot sshd (8) меняет рабочий каталог на домашний каталог пользователя.

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

Простейшим решением было бы настроить корневой каталог с разрешениями 0755 и владельцем root. Единственная альтернатива, о которой я знаю, - это создать собственную копию сервера SSH с отключенной проверкой.

да, в журналах говорится, что, но: «drwxrwxr-x 24 root root 4.0K 9 ноября 20:51». FireyFly 5 лет назад 0
`drwxrwxr-x` Другими словами, у него включено разрешение на запись в группу. Это не разрешено. Kenster 5 лет назад 0
Я уже пытался установить его на 755 раньше ... не работал, а теперь работает, невероятно ... Большое спасибо, сэр. FireyFly 5 лет назад 0

Похожие вопросы