/ bin / bash (chrooted) більше не працює


1

Раніше всі наші клієнти в Інтернеті були налаштовані на доступ до свого 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. Я робив пошук, що я знайшов (у наведених нижче прикладах я замінив власне ім’я користувача на "ім'я користувача", а власне домен на "domain.com"):

  1. Користувач FTP в / etc / passwd показує правильно, наскільки я можу сказати: ім'я користувача: 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 для їх файлів / папок. Моя підтримка сервера натхнена.

Буду вдячний за чиюсь допомогу !! Дякую.


Що таке вихід ls -la /usr/local/psa/bin/chrootsh? Яке ім’я та версія ОС?
Олег Неумивакін

Дякую за Ваш коментар! Результат: -rwsr-x--- 1 root psacln 10536 Oct 28 00:52 /usr/local/psa/bin/chrootsh Cent OS 7, Plesk 17.0.17
Ultra Graphics

Ви намагалися переключити shell на загальний баш і назад на chrooted bash? Якщо це не допомагає, я думаю, ви можете зв’язатися безпосередньо із службою підтримки Plesk, оскільки я знаю, що зараз це безкоштовно.
Олег Неумивакін

Дякуємо за ваш коментар Раніше "їзда на велосипеді" оболонку вирішила б проблему, але цього разу це не відбулося. Я спробував отримати підтримку Plesk, але їм потрібна ліцензія plesk у формі підтримки, і коли я зробив це, я отримав повідомлення про те, що вони не підтримують plesk-установки третьою стороною (в даному випадку моїм хостингом Mediatemple) і що я потрібно зв’язатися з ними (що я маю, кілька разів - вони наткнулися). Зрештою, у мене був хлопець з Linux, якого я знаю, повністю перевстановив - я додам відповідь на це питання, щоб це відобразити. Дякую, хоча!
Ультра Графіка

Відповіді:


1

Щоб вирішити мою проблему, Chroot по суті був перевстановлений. У мене був інший хлопець, який знає набагато більше, ніж я це роблю, але я попросив його спробувати підсумувати, що він зробив, щоб це могло допомогти іншим, хто повинен зробити те саме:

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

  2. Потім він очистив усі залишки вихідного середовища CHROOT у кожному обліковому записі (наприклад, видалив кошик, сбін тощо) і так далі каталоги під обліковим записом хостингу (/var/www/vhosts/somedomain.com)

  3. Потім встановіть оболонку на що-небудь, крім опції chroot (в plesk -> підписка -> доступ до веб-хостингу та збереження. Потім встановіть оболонку на опцію chroot (/ bin / bash (chrooted). Цей останній елемент запускає команди видалити та додати) середовище chroot до цільового каталогу.

Я все ще виконую крок 2 і 3 для моїх решти доменів, але поки що він працював щоразу. Сподіваємось, це допоможе тому, у кого є подібне питання.


+1 для обміну рішенням. Ви виявили, в чому причина?
Каміль Маціоровський

На жаль, немає. Ні наша серверна підтримка, ні хлопець, який перевстановив chroot, ні я ніколи не знайшли фактичної причини проблеми. Якби мені довелося зробити дещо освічені здогадки, я думаю, що оновлення могло випадково зняти залежність із chroot. Оскільки він був широким сервером і торкнувся всіх доменів, я маю думати, що це щось стосується папки chroot в / var / www / vhosts / chroot /, можливо, пошкоджений файл? Потім, коли я перейшов на / bin / bash / і назад на / bin / bash (chrooted), Плеск не видалив належним чином і відновив відповідні файли та залежності.
Ультра Графіка
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.