PowerScale OneFS: Fehler "500 OOPS: Vsftpd: weigert sich, mit beschreibbarem Stamm in Chroot auszuführen"
Summary: Wenn der FTP-Nutzer nach einem Upgrade oder Patch eine Verbindung zu einem PowerScale-FTP-Server herstellt, schlägt der Vorgang mit der Fehlermeldung "500 OOPS: Vsftpd: Weigerung, mit beschreibbarer Wurzel in chroot() zu laufen." ...
Symptoms
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
Das Problem tritt nach dem Upgrade von OneFS auf eine Version auf, die ein Upgrade von vsftpdfestzulegen:
- 8.2.2_GA-RUP_2023-06 und höher
- 9.1.0.29 und höher
- 9.2.1.23 und höher
- 9.4.0.14 und höher
- 9.5.0.4 und höher
- 9.6.0.0 und höher
Beispiel: vsftpd pkg wird aktualisiert von vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5aus.
Weitere Informationen finden Sie auf der vsftpd Offizielle Homepage unter 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.
Das Problem besteht darin, dass das Stammverzeichnis des FTP-Nutzers nicht beschreibbar ist. Die Datei chroot Das Limit wird verwendet, was in der letzten Aktualisierung nicht zulässig ist. Die Datei chroot Das Verzeichnis, auf das Nutzer gesperrt sind, darf nicht beschreibbar sein.
Resolution
Es gibt zwei Möglichkeiten, dieses Problem zu beheben:
- Option 1: Entfernen Sie die Schreibberechtigungen für das Stammverzeichnis des Nutzers.
chroot Verzeichnis:
#chmod a-w /home/user
- Option 2: Umgehen Sie die stärkeren Prüfungen, indem Sie die folgenden Konfigurationseinstellungen in die
vsftpdGlobale Konfigurationsdatei oder individuelle Nutzerkonfigurationsdatei:
allow_writeable_chroot=YES
Auf dem OneFS-Cluster wird empfohlen, eine Kopie des
vsftpd Konfiguration auf /ifs/data/Isilon_Support/. Zum Beispiel:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bakFügen Sie dann mithilfe des VI-Editors die folgende Zeile zu
/etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Eine weitere Option anstelle des VI-Editors besteht darin, den Befehl echo zu verwenden, um eine Zeile an dieselbe Datei anzuhängen:
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
Warten Sie einige Sekunden und überprüfen Sie dann, ob die Datei auf allen Nodes aktualisiert wird und ob die MD5-Prüfsumme der Datei konsistent ist.
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
Hier ist eine schnelle Reproduktion des Problems und der Schritte zur Behebung:
-
Melden Sie sich bei einem PowerScale-Cluster an, auf dem OneFS 9.4.0.14 ausgeführt wird. Nachfolgend finden Sie das Stammverzeichnis des FTP-Nutzers:
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
Die FTP-Nutzeranmeldung schlägt mit der folgenden Fehlermeldung fehl:
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:
- Option 1: Entfernen Sie die Schreibberechtigungen für das Stammverzeichnis des Nutzers:
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.
- Option 2: Umgehen Sie die Sicherheitsüberprüfung:
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.