SFTP fatal mala propiedad o modos para el directorio chroot ubuntu 12.04

12

Acabo de configurar mi servidor SFTP y funciona bien cuando lo uso desde mi primera cuenta de usuario. Quería agregar un usuario al que llamaremos 'magnarp'. Al principio me gustó esto en sshd_config:

Subsystem sftp internal-sftp


Match group sftponly
    ChrootDirectory /home/%u
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

Eso funcionó lo suficientemente bien, el usuario magnarp entró en su directorio de inicio. Luego intenté agregarle un enlace simbólico.

home$ sudo ln -s /home/DUMP/High\ Defenition/ /home/magnarp/"High Defenition"

El enlace simbólico funcionó bien a través de SSH pero no a través de SFTP.

Entonces, lo que quiero hacer ahora es agrupar a Chroot en sftponly a / home / DUMP y me gustó esto:

Match group sftponly
    ChrootDirectory /home/DUMP
    X11Forwarding no
    AllowTcpForwarding no
    ForceCommand internal-sftp

La carpeta DUMP tiene los siguientes permisos.

drwxrwxrwx  5 root     root      4096 aug 18 02:25 DUMP

Y este es el código de error:

Aug 18 16:40:29 nixon-01 sshd[7346]: Connection from 192.168.1.198 port 51354
Aug 18 16:40:30 nixon-01 sshd[7346]: Accepted password for magnarp from 192.168.1.198 port 51354 ssh2
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session opened for user    magnarp by (uid=0)
Aug 18 16:40:30 nixon-01 sshd[7346]: User child is on pid 7467
Aug 18 16:40:30 nixon-01 sshd[7467]: fatal: bad ownership or modes for chroot directory "/home/DUMP"
Aug 18 16:40:30 nixon-01 sshd[7346]: pam_unix(sshd:session): session closed for user magnarp
Jonathan
fuente

Respuestas:

21

sshdtiene un cierto nivel de paranoia cuando se trata de directorios chroot. No creo que esto se pueda deshabilitar (incluso con StrictModes no). El directorio chroot y todos los directorios principales se deben configurar correctamente :

  1. El directorio chroot y todos sus padres no deben tener capacidades de escritura grupales o mundiales (es decir chmod 755)
  2. El directorio chroot y todos sus padres deben ser propiedad de root.

En su caso, el error de inicio de sesión se puede solucionar con chmod 755 /home/DUMP Su aparente intención de tener un directorio de escritura mundial en el que sftpuser pueda iniciar sesión y todos puedan colocar archivos se pueden resolver haciendo de ese directorio un subdirectorio de/home/DUMP/

DerfK
fuente
1
¡Trabajado como un encanto! Gracias. Ahora solo tengo que arreglar todos los subdirectorios y mi sistema NFS también :)
Jonathan
0

A) ¿Cuál sería el punto de hacer chroot si hacer simlinks ayudaría a evadir el chroot? (Cualquier usuario podría cargar un enlace sim y luego acceder a todo el sistema de archivos)

B) Un chmod 777 más y te llamará theo ( http://rlv.zcache.com/i_got_flamed_by_theo_de_raadt_t_shirt_tshirt-p235453348828729121en7rf_210.jpg ). Consulte http://lists.mindrot.org/pipermail/openssh-unix-dev/2010-January/028151.html para comprender por qué openssh es tan exigente con los permisos del directorio chroot.


fuente