/ bin / bash (chrooted) больше не работает

926
Ultra Graphics

Ранее все наши веб-клиенты были настроены на доступ к своим SFTP с помощью shell / bin / bash (chrooted). С 1-17-17 это работало для всех. В следующий понедельник 1-20-17 этого не было. Эта проблема затрагивает ВСЕ домены, которые использовали / bin / bash (chrooted) в качестве оболочки.

При попытке подключения ошибка FTP: EOF при чтении пакета. Пожалуйста, свяжитесь с вашим поставщиком услуг веб-хостинга для помощи.

При попытке подключиться через SSH в командной строке выдается сообщение об ошибке: не удается выполнить chdir в домашний каталог /var/www/vhosts/domain.com: такого файла или каталога нет / usr / local / psa / bin / chrootsh: такого файла или каталога нет Подключение к domain.com закрыто.

Я не могу найти записи каких-либо актуальных обновлений для Plesk, я, конечно, ничего не изменил. Единственное обновление, которое я вижу в истории Plesk, - это обновление с PHP 7 до PHP 7.0.14. Я занимался поиском того, что нашел (в приведенных ниже примерах я заменил фактическое имя пользователя на «username», а реальный домен на «domain.com»):

  1. Насколько я могу судить, пользователь FTP в / etc / passwd показывает правильно: username: x: 10057: 1004 :: / var / www / vhosts / domain.com: / usr / local / psa / bin / chrootsh

  2. не было никаких изменений в разрешениях пользователей или групп. Пользователь правильно назначен в группу psacln, как и прежде.

  3. Насколько я могу судить, в папке / var / www / vhosts / chroot есть все, что нужно, и все права и права собственности указаны правильно.

  4. Я попробовал метод из Plesk здесь: https://support.plesk.com/hc/en-us/articles/213909545--HOWTO-How-to-add-new-programs-to-a-chrooted-shell- шаблон среды, не работал. Я даже переименовал папку chroot в chroot_old и переустановил, без разницы.

  5. Я попытался добавить пользовательские правила в файл sshd_config в / etc: Соответствовать имени пользователя ChrootDirectory / var / www / vhosts / chroot Затем перезапустить sshd, нет.

  6. Я также запустил утилиту восстановления plesk по этой ссылке: https://docs.plesk.com/en-US/onyx/a...epair-utility/plesk-repair-utility-web.74654/ и ничего не нашел на мой вопрос.

Я понятия не имею, что еще нужно проверить, и изменение оболочки на / bin / bash не вариант - кроме риска для безопасности у нас есть клиенты с автоматизированными SSH-соединениями, которым требуется chroot для их путей к файлам / папкам. Моя поддержка сервера поставлена ​​в тупик.

Буду признателен за любую помощь! Спасибо.

1
Что выводит `ls -la / usr / local / psa / bin / chrootsh`? Какое у вас название и версия ОС? Oleg Neumyvakin 7 лет назад 0
Спасибо за ваш комментарий! Результат: `-rwsr-x --- 1 root psacln 10536 28 октября 00:52 / usr / local / psa / bin / chrootsh` Cent OS 7, Plesk 17.0.17 Ultra Graphics 7 лет назад 0
Вы пытались переключить оболочку на общий bash и обратно на chroot bash? Если это не поможет, я думаю, что вы можете напрямую связаться со службой поддержки Plesk, так как я знаю, что сейчас это бесплатно. Oleg Neumyvakin 7 лет назад 0
Спасибо за ваш комментарий. Ранее «зацикливание» оболочки решало проблему, но на этот раз этого не произошло. Я пытался получить поддержку Plesk, но им требуется лицензия plesk в форме поддержки, и когда я это сделал, я получил сообщение о том, что они не поддерживают установку plesk третьей стороной (в данном случае моим хостом Mediatemple) и что я надо с ними связаться (что у меня несколько раз - они в тупик). В конце концов, у меня был парень Linux, которого я знаю, полностью переустановил его - я добавлю ответ на этот вопрос, чтобы отразить это. Однако, спасибо! Ultra Graphics 7 лет назад 0

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

2
Ultra Graphics

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

  1. По сути, он взял исполняемые файлы, которые существовали в исходном исходном каталоге CHROOT, и скопировал их в исходный каталог CHROOT, который я создал, когда запускал скрипт из документации Plesk выше: https://support.plesk.com/hc/en-us. / Articles / 213909545 - HOWTO-Как добавить новые программы в шаблон chroot-shell-environment .

  2. Затем он очистил все остатки исходной среды CHROOT в каждой учетной записи (например, удалил каталоги bin, sbin и т. Д. И т. Д. Под учетной записью хостинга (/var/www/vhosts/somedomain.com).

  3. Затем установите для оболочки значение, отличное от параметра chroot (в plesk -> subscription -> доступ к веб-хостингу и сохраните его. Затем установите параметр shell в chroot (/ bin / bash (chrooted). Этот последний элемент запускает команды для удаления и добавления). среда chroot для целевого каталога.

Я все еще выполняю шаги 2 и 3 для оставшихся доменов, но до сих пор это работало каждый раз. Надеюсь, это поможет кому-то, у кого есть похожая проблема.

+1 за то, что поделился своим решением. Вы обнаружили, в чем причина? Kamil Maciorowski 7 лет назад 0
К сожалению нет. Ни наша служба поддержки сервера, ни парень, который переустанавливал chroot, ни я так и не нашли фактическую причину проблемы. Если бы мне пришлось сделать несколько обоснованное предположение, я думаю, что обновление могло бы случайно удалить зависимость от chroot. Поскольку это был серверный сервер и затрагивал все домены, я должен думать, что это было связано с папкой chroot в / var / www / vhosts / chroot /, возможно, поврежденным файлом? Затем, когда я переключился на / bin / bash / и обратно на / bin / bash (chrooted), Plesk не удалял и не восстанавливал соответствующие файлы и зависимости. Ultra Graphics 7 лет назад 0

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