vsFTPd dejó de funcionar después de la actualización

17

Acabo de actualizar a Ubuntu 12.04 LTS (Precise Pangolin) desde Ubuntu Server 11.10 (Oneiric Ocelot).

Actualizó mi instalación de vsFTPd, y parece que algo ha cambiado: / Uso la autenticación PAM. ¿Qué podría haber cambiado para causar esto?

Cuando intento conectarme al servidor FTP me sale este error:

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Intenté buscarlo en Google y dijo que se agregara allow_writable_root=YESal archivo de configuración; sin embargo, cuando intento esto e intento reiniciar vsftpd, no se puede reiniciar. ¿Por qué?

Así es como lo arreglé realmente:

wget http://http.us.debian.org/debian/pool/main/v/vsftpd/vsftpd_3.0.2-3_amd64.deb -O vsftpd.deb
dpkg -i vsftpd.deb
echo "allow_writeable_chroot=YES" >> /etc/vsftpd.conf
service vsftpd reload

Y voilá :)

Señor rey
fuente
El enlace que proporcionó para el wgetparámetro está muerto. Probablemente, porque la versión ya 3.0.2-3está disponible. Cualquier persona que se enfrente a este problema, debe visitar este sitio para obtener el enlace correcto. El enlace mencionado anteriormente es para la plataforma de 64 bits. Para encontrar enlaces para este paquete para otras plataformas, como por ejemplo 32 bits, siga esta página y desplácese hacia abajo hasta la Download vsftpdsección.
trejder

Respuestas:

11

También tengo este problema y creo que se debe a la nueva actualización vsFTPd para mejorar la seguridad, así que mientras tanto uso esta solución.

  1. Cambié la carpeta a la que entra mi usuario FTP cuando inicia sesión por primera vez (carpeta raíz) usando esto en el terminal: sudo chmod a-w /home/user

    Puede cambiar /home/usera la carpeta raíz de su usuario FTP.

  2. Cree una subcarpeta dentro de la carpeta, ya sea mediante el uso de GUI, o si solo tiene un terminal, es: sudo mkdir /home/user/newfolder

Ahora debería poder iniciar sesión y leer escribir dentro de la "nueva carpeta". NO podrá escribir en la carpeta raíz desde el cliente FTP con el chmod aw, de modo que esa es la razón de la subcarpeta, y allí puede hacerlo.

Supongo que habrá una solución en poco tiempo, pero mientras tanto espero que esto ayude.

kristian
fuente
La única solución que puedo encontrar es instalar vsftpd-ext y reemplazar vsftpd que permite el uso de allow_writable_root, pero solo viene como un archivo .tar.gz, y soy muy nuevo en Linux y parece que no puedo acceder a él. build: / al final solo forcé una rebaja a la versión anterior de vsftpd que solía ejecutar
Sr. King
Trabajó para mi. El propietario del homedir tiene que crear la carpeta, no la raíz.
OrangeTux
¿No está haciendo un chmod aw "prohibido" por los maestros linux jedi? desde que le otorgarías el permiso 666?
9

Alguien hizo una copia de la función para agregar allow_writeable_chroot=YESdesde la versión 3.0.0 a 2.3.5 (ver esta entrada de blog ).

Para instalar en Ubuntu 12.04 (Precise Pangolin), ejecute los siguientes comandos como root:

add-apt-repository ppa:thefrontiergroup/vsftpd
apt-get update
apt-get install vsftpd
echo allow_writeable_chroot=YES >> /etc/vsftpd.conf

Tenga en cuenta que parece haber una opción allow_writable_chroot=YES en vsftpd-ext: tenga en cuenta el mensaje mssing e ! (¿o es esto un error tipográfico en la publicación del blog?)

lumbric
fuente
1
+1: esta parece ser la mejor opción, y gracias a The Frontier Group por proporcionar este PPA. Pero los usuarios deben tener en cuenta que esto lo lleva "fuera de pista". Debido a la naturaleza de lo que hace, vsftpd está un poco expuesto a la seguridad, y si se encuentra una vulnerabilidad en vsftpd en el futuro, los usuarios dependen del propietario del PPA para actualizarlo, o los usuarios necesitarán encontrar otra solución En ese tiempo. Sería aconsejable suscribirse a la lista de correo ubuntu-security -nounce y estar atento a los anuncios de seguridad vsftpd si sigue esta ruta.
Robie Basak
Nuestro equipo DEVOPS creó ese paquete: deje un comentario en el artículo del blog si tiene algún problema individual que necesita ayuda para resolverlo y lo ayudarán.
mlambie
6

vsFTPd 3.0.0 agrega una opción de configuración,

allow_writeable_chroot=YES

para habilitar nuevamente el comportamiento anterior (fuente: Fixing 500 OOPS: vsFTPd: rehusarse a ejecutarse con root escribible dentro de chroot () , comentario de Brian K. White).

Desafortunadamente, 3.0.0 aún no está empaquetado por Ubuntu. Mientras tanto, cambie a una versión anterior. Por ejemplo, estoy usando este en Ubuntu 12.04 (Precise Pangolin): http://packages.ubuntu.com/oneiric-updates/vsftpd

Jakob
fuente
¿Podría agregar instrucciones sobre cómo instalar el paquete Oneiric que ha vinculado? ¿Debo descargar manualmente el paquete? Supongo que agregar actualizaciones oneiric a mis repositorios arruinará bastante las cosas.
lumbric
0

Otra forma de hacer lo que hace el usuario Kristian: funcionó para mí. El nombre de usuario que uso es 'john'. Reemplácelo por el nombre de usuario que desee.

sudo chmod a-w /home/john - Elimina el permiso para que todos los usuarios eliminen o modifiquen un archivo.

sudo mkdir /home/john/ftp - Crea una carpeta llamada 'ftp' en el directorio de inicio del usuario 'john'

sudo chown -Rv john.john /home/john/ftp - Cambia la propiedad del directorio al grupo 'juan' y al usuario 'juan'.

OrangeTux
fuente
0

¿Por qué?

Tomado y adaptado de mi propia respuesta en el error 1065714 .

Para mantener estables las versiones estables, las actualizaciones posteriores a la versión solo se consideran bajo circunstancias específicas. Los detalles del proceso y de los criterios requeridos se enumeran aquí: https://wiki.ubuntu.com/StableReleaseUpdates#When

Esto hace que sea difícil para los usuarios de la versión LTS tener chroots grabables, ya que el proyecto upstream vsftpd decidió lanzar sin esta característica en el momento en que se lanzó 12.04. Ahora que se lanzó 12.04 y la solución no cumple con los criterios anteriores, no creo que esto cambie para 12.04. Pero tenga en cuenta que el Equipo de actualizaciones de lanzamiento estable toma la decisión final sobre esto, y no se les ha propuesto una actualización.

Si desea que una versión más nueva de vsftpd esté disponible para los usuarios que desean utilizar la opción "allow_writeable_chroot", entonces el repositorio de backports es un lugar apropiado para esto. Con un backport, los usuarios que deseen la característica podrían simplemente agregar el repositorio de backports e instalar vsftpd desde allí. Puede encontrar más información sobre backports y cómo solicitar uno aquí: https://wiki.ubuntu.com/UbuntuBackports

Mientras tanto, The Frontier Group ha proporcionado amablemente un PPA, como se describe en la respuesta de lumbric. O puede usar una de las otras respuestas aquí que funcione para usted.

Robie Basak
fuente