PowerScale OneFS: Fehler "500 OOPS: Vsftpd: weigert sich, mit beschreibbarem Stamm in Chroot auszuführen"
Summary: FTP-Nutzerverbindungen (File Transfer Protocol) zu einem PowerScale-FTP-Server schlagen nach einem Upgrade oder Patch mit dem Fehler "500 OOPS: fehl Vsftpd: Weigert sich, mit beschreibbarer Wurzel innerhalb von chroot()" zu laufen. ...
Symptoms
Die FTP-Nutzeranmeldung schlägt fehl mit:
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 vsftpdverwalten:
- 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 unter 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. Bei der chroot Das Limit wird verwendet, was in der letzten Aktualisierung nicht zulässig ist. Bei der chroot Das Verzeichnis, auf das Nutzer gesperrt sind, darf nicht beschreibbar sein.
Resolution
/etc/mcp/templates/vsftpd.conf wird wieder auf die Standardeinstellung zurückgesetzt. Stellen Sie nach Upgrades sicher, dass die Lösung erneut angewendet wird, um das in diesem KB-Artikel beschriebene Problem zu vermeiden.
- 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/aus.
Zum Beispiel:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bak
Fügen Sie dann mithilfe des VI-Editors die folgende Zeile zu /etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Eine weitere Möglichkeit besteht darin, anstelle des VI-Editors den Befehl echo Befehl, 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 dass die Datei md5 checksum 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>
-
Es gibt zwei Möglichkeiten, dieses Problem zu beheben, abhängig von Ihrem Workflow und Ihren Bedenken:
- 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.