PowerScale OneFS: Error recibido después de la actualización "500 OOPS: Vsftpd: se rehúsa a ejecutarse con la raíz escribible dentro de chroot"
Summary: Después de una actualización o parche, cuando el usuario de FTP se conecta a un servidor FTP de PowerScale, falla con el mensaje de error "500 OOPS: Vsftpd: Negarse a ejecutar con la raíz grabable dentro de chroot()." ...
Symptoms
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Cause
El problema se produce después de actualizar OneFS a una versión que contiene vsftpd:
- 8.2.2_GA-RUP_2023-06 y posteriores
- 9.1.0.29 y versiones posteriores
- 9.2.1.23 y versiones posteriores
- 9.4.0.14 y posterior
- 9.5.0.4 y versiones posteriores
- 9.6.0.0 y posterior
Por ejemplo, el método vsftpd El paquete se actualiza desde vsftpd-ssl-2.3.4vsftpd-ssl-3.0.5.
Encontrará más detalles en la vsftpd Página oficial en 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.
El problema es que el directorio raíz del usuario FTP tiene capacidad de escritura. La variable chroot se utiliza limit, lo que no está permitido en la actualización reciente. La variable chroot El directorio en el que están bloqueados los usuarios no debe tener capacidad de escritura.
Resolution
Hay dos opciones para abordar este problema:
- Opción 1: Elimine los permisos de escritura en el directorio raíz del usuario.
chroot directorio:
#chmod a-w /home/user
- Opción 2: Para evitar las comprobaciones más estrictas, agregue los siguientes ajustes de configuración en el
vsftpdArchivo de configuración global o archivo de configuración de usuario individual:
allow_writeable_chroot=YES
En el clúster de OneFS, se recomienda hacer una copia de
vsftpd Configuración para /ifs/data/Isilon_Support/. Por ejemplo:
# cp -av /etc/mcp/templates/vsftpd.conf /ifs/data/Isilon_Support/vsftpd.conf.bakA continuación, mediante el editor VI, agregue la siguiente línea a
/etc/mcp/templates/vsftpd.conf "
allow_writeable_chroot=YES"
Otra opción en lugar de usar el editor VI es usar el comando echo para agregar una línea a ese mismo archivo:
# echo "allow_writeable_chroot=YES" >> /etc/mcp/templates/vsftpd.conf
Espere unos segundos y, a continuación, compruebe que el archivo se actualice a todos los nodos y que la suma de comprobación md5 del archivo sea coherente.
# isi_for_array -s md5 /etc/mcp/templates/vsftpd.conf
Aquí hay una reproducción rápida del problema y los pasos para solucionarlo:
-
Inicie sesión en un clúster de PowerScale que ejecute OneFS 9.4.0.14. A continuación, se muestra el directorio principal del usuario de FTP:
test2-fxq5rm3-1# ls -ld /ifs/home/warmsvcisiftp
drwx------ 2 warmsvcisiftp Isilon Users 264 Jun 13 02:50 /ifs/home/warmsvcisiftp
-
El inicio de sesión del usuario de FTP falla y se muestra el mensaje de error:
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:
- Opción 1: Elimine los permisos de escritura para el directorio raíz del usuario:
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.
- Opción 2: Solucione el control de seguridad:
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.