VSFTPD: establece el directorio predeterminado de un usuario NO en su directorio chroot

VSFTPD: establece el directorio predeterminado de un usuario NO en su directorio chroot

Tengo una configuración VSFTPD en la que los usuarios son enviados a sus directorios personales. Cosas estándar. Pero esto requiere que no se pueda escribir en ninguno de sus directorios personales (para evitar problemas de seguridad). No hay problema, si quieren cargar archivos, pueden cargarlos en una carpeta grabable.dentrosu chroot.

Pero ahora tienen que cambiar a esa carpeta cada vez para realizar la carga. Si uso la opción local_root en el archivo de configuración VSFTPD para mover su ubicación de inicio de sesión predeterminada a esa carpeta de escritura, entoncesesose convierte en su chroot, y volvemos al punto de partida: no se puede escribir.

Mi pregunta es, ¿cómo puedo mover la ubicación predeterminada en la que VSFTPD coloca a los usuarios a un directorio grabable dentro de su cárcel chroot, sin que se pueda escribir en el directorio chroot?

Respuesta1

Sólo hay una manera de hacer esto con vsftpd y las rutas deben establecerse en el archivo passwd del sistema. No se pueden establecer rutas en el archivo vsftpd.conf.

En el archivo /etc/vsftpd.conf, configure las dos opciones siguientes:

chroot_local_user=SÍ
passwd_chroot_enable=SÍ

También debe cambiar el directorio de inicio de Unix del usuario para indicar dónde está rooteado el chroot jail. La raíz de chroot jail se ubicará en la ruta a la izquierda de la /./ruta del directorio de inicio. es decir, /ftphome/./home/user/establecería la cárcel chroot /ftphome/y dentro de la cárcel el directorio de usuarios sería home/user. Puedes hacer esto ejecutando:

sudo usermod -d /ftphome/./home/user/ user

Obviamente, el directorio chroot y los directorios de usuario internos deben configurarse según la preparación normal de chroot.

información relacionada