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"
Resumen: Las conexiones de usuario del protocolo de transferencia de archivos (FTP) a un servidor FTP de PowerScale fallan después de una actualización o parche con un "500 OOPS: Vsftpd: Negarse a ejecutar con la raíz grabable dentro del mensaje de error chroot(). ...
Síntomas
El inicio de sesión de usuario de FTP falla con:
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
Causa
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.
Puede obtener más información 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.
Resolución
/etc/mcp/templates/vsftpd.conf se cambia de nuevo a los valores predeterminados. Después de las actualizaciones, asegúrese de que la resolución se aplique nuevamente para evitar experimentar el problema en este artículo de la base de conocimientos.
- 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.bak
A 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 método echo para anexar 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 el archivo md5 checksum es 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>
-
Hay dos opciones para abordar este problema según su flujo de trabajo e inquietudes:
- 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.