El usuario chrooted no comienza en su directorio de inicio y no carga sus bash_profiles

El usuario chrooted no comienza en su directorio de inicio y no carga sus bash_profiles

Si el usuario inicia sesión, comienza en / del chroot (que es /var/jail en la máquina real). Me gustaría que comenzara en su directorio personal. Además, parece no cargar ninguno de sus archivos de perfil (.bash.rc, etc.). Seguíestetutorial para crear el entorno chroot. Así es como se ve mi /etc/passwd:

test:x:1004:1008:,,,:/var/jail/home/test:/bin/bash

Así es como se ve mi archivo /var/jail/etc/passwd:

test:x:1004:1008:,,,:/home/test:/bin/bash

También descubrí que, si elimino

Match User test
    ChrootDirectory /var/jail
    AllowTCPForwarding no
    X11Forwarding no

desde mi /etc/ssh/sshd_config, el usuario comienza en su carpeta de inicio correcta y con su configuración de bash cargada. Sin embargo, puede abandonar el entorno chroot si elimino esa parte.EsteLa pregunta que hice antes está algo relacionada, ya que creo que el aspecto incorrecto de la línea de comandos se debe a que los archivos de perfil no están cargados. Entonces, ¿alguna idea de cómo solucionar este problema?

Respuesta1

Su configuración es correcta excepto por un pequeño detalle: el directorio de inicio /etc/passwdno debe contener la parte de la ruta chroot. Cámbielo a:

test:x:1004:1008:,,,:/home/test:/bin/bash

reinicie sshdy vuelva a intentarlo.

De man sshd_config:

DirectorioChroot

Especifica el nombre de ruta de un directorio al chroot(2) después de la autenticación. Todos los componentes del nombre de ruta deben ser directorios de propiedad raíz en los que ningún otro usuario o grupo pueda escribir. Después del chroot, sshd(8) cambia el directorio de trabajo al directorio de inicio del usuario.

Es decir, primero sshdse ejecuta chroot(en nuestro caso chroot /var/jail) y luego sshdcambia el directorio al directorio principal del usuario (en nuestro caso cd /home/test, en un entorno chroot cd /var/jail/home/testno funcionaría).

Si está utilizando Debian/Ubuntu (ya que el tutorial que menciona es para Debian), es posible que desee crear un archivo llamado /var/jail/etc/debian_chrootcon contenido "chroot", esto aparecerá en el mensaje del usuario entre paréntesis como este: (chroot)test@servername:~$.

(He duplicado su configuración en mi Ubuntu 12.04 y funcionó después de eliminarla /var/jailde la entrada de prueba de usuario en /etc/passwd).

información relacionada