PowerScale OneFS : Error Received After Upgrade "500 OOPS: Vsftpd : Refuse de s’exécuter avec une racine inscriptible à l’intérieur de chroot"
Summary: Après une mise à niveau ou un correctif, lorsque l’utilisateur FTP se connecte à un serveur FTP PowerScale, il échoue avec le message d’erreur « 500 OOPS : Vsftpd : Refuser de s’exécuter avec une racine inscriptible à l’intérieur de chroot()." ...
Symptoms
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
Le problème se produit après la mise à niveau de OneFS vers une version contenant les mises à niveau vsftpd:
- 8.2.2_GA-RUP_2023-06 et versions ultérieures
- 9.1.0.29 et versions supérieures
- 9.2.1.23 et versions ultérieures
- Versions 9.4.0.14 et supérieures
- 9.5.0.4 et versions ultérieures
- 9.6.0.0 et versions supérieures
Par exemple, l’option vsftpd pkg est mis à jour à partir de vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5.
Vous trouverez plus de détails sur le vsftpd Page d’accueil officielle de 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.
Le problème est que le répertoire racine de l’utilisateur FTP est accessible en écriture. Le chroot limit est utilisée, ce qui n’est pas autorisé dans la mise à jour récente. Le chroot Le répertoire dans lequel les utilisateurs sont verrouillés ne doit pas être accessible en écriture.
Resolution
Il existe deux options pour résoudre ce problème :
- Option 1 : Supprimez les autorisations d’écriture sur le répertoire racine de l’utilisateur.
chroot répertoire:
#chmod a-w /home/user
- Option 2 : Contournez les vérifications les plus importantes en ajoutant les paramètres de configuration ci-dessous dans le
vsftpdFichier de configuration global ou fichier de configuration utilisateur individuel :
allow_writeable_chroot=YES
Sur le cluster OneFS, il est recommandé d’effectuer une copie du fichier
vsftpd configuration à /ifs/data/Isilon_Support/. Par exemple :
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bakEnsuite, à l’aide de l’éditeur VI, ajoutez la ligne suivante à
/etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Une autre option au lieu d’utiliser l’éditeur VI est d’utiliser la commande echo pour ajouter une ligne à ce même fichier :
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
Patientez quelques secondes, puis vérifiez que le fichier est mis à jour sur tous les nœuds et que la somme de contrôle md5 du fichier est cohérente.
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
Voici une reproduction rapide du problème et des étapes à suivre pour le résoudre :
-
Connectez-vous à un cluster PowerScale exécutant OneFS 9.4.0.14. Vous trouverez ci-dessous le répertoire de base de l’utilisateur FTP :
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
La connexion de l’utilisateur FTP échoue avec le message d’erreur suivant :
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 : Supprimez les autorisations d’écriture pour le répertoire racine de l’utilisateur :
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 : Contournez le contrôle de sécurité :
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.