PowerScale OneFS: Помилка, отримана після апгрейду "500 ООП: Vsftpd: відмовляється працювати з записуваним коренем всередині chroot"
Summary: Після оновлення або виправлення, коли користувач FTP підключається до FTP-сервера PowerScale, він завершує роботу з повідомленням про помилку «500 OOPS: Vsftpd: Відмова працювати з записуваним коренем всередині chroot()." ...
Symptoms
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
Проблема виникає після оновлення OneFS до версії, що містить оновлені vsftpd:
- 8.2.2_GA-RUP_2023-06 і пізніші
- 9.1.0.29 і пізніші версії
- 9.2.1.23 і пізніші версії
- 9.4.0.14 і пізніші версії
- 9.5.0.4 і пізніші версії
- 9.6.0.0 і пізніші версії
Наприклад, vsftpd pkg оновлено з vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5.
Більш детальна інформація на vsftpd Офіційна головна сторінка на https://security.appspot.com/vsftpd/Changelog.txt
- Add stronger checks for the configuration error of running with a writeable root directory inside a chroot(). This may bite people who carelessly turned on chroot_local_user but such is life. - Add new config setting "allow_writeable_chroot" to help people in a bit of a spot with the v2.3.5 defensive change. Only applies to non-anonymous.
Проблема полягає в тому, що кореневий каталог користувача FTP доступний для запису. Об'єкт chroot використовується ліміт, який не дозволений в останньому оновленні. Об'єкт chroot Каталог, до якого заблоковані користувачі , не повинен бути доступним для запису.
Resolution
Є два варіанти вирішення цієї проблеми:
- Варіант 1: Видаліть дозволи на запис у кореневому каталозі користувача.
chroot Каталог:
#chmod a-w /home/user
- Варіант 2: Обійдіть сильніші перевірки, додавши наведені нижче параметри конфігурації до
vsftpdГлобальний файл конфігурації або файл конфігурації окремого користувача:
allow_writeable_chroot=YES
На кластері OneFS рекомендується зробити копію
vsftpd Конфігурація для /ifs/data/Isilon_Support/. Наприклад:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bakПотім, використовуючи редактор VI, додайте наступний рядок до
/etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Іншим варіантом замість використання редактора VI є використання команди echo для додавання рядка до того ж файлу:
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
Зачекайте кілька секунд, а потім перевірте, що файл оновився для всіх вузлів і що контрольна сума файлу md5 узгоджена.
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
Ось коротке відтворення проблеми та кроки для її вирішення:
-
Увійдіть у кластер PowerScale під керуванням OneFS 9.4.0.14. Нижче наведено домашній каталог користувача FTP:
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
Не вдається ввійти в систему користувача FTP з повідомленням про помилку:
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
ftp: Login failed
ftp>
-
There are two options to address this issue depending on your workflow and concerns:
- Варіант 1: Видаліть дозволи на запис для кореневого каталогу користувача:
test2-fxq5rm3-1# chmod a-w /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
dr-x------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.
- Варіант 2: Обхід перевірки безпеки:
test2-fxq5rm3-1# chmod u+w /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
test2-fxq5rm3-1# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
test2-fxq5rm3-1# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
test2-fxq5rm3-1: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-2: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-3: MD5 (/etc/mcp/templates/vsftpd.conf) = 4920beaff65c3bfa09bd18582c2fbcf8
test2-fxq5rm3-1# ftp localhost
Trying 127.0.0.1:21 ...
Connected to localhost.
220-PowerScale OneFS 9.4.0.14
220
Name (localhost:root): warmsvcisiftp
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> bye
221 Goodbye.