Recientemente hemos encontrado una solución alternativa que dice así:
/ etc / ssh / sshd_config:
...
Subsystem sftp internal-sftp
Match Group sftponly
ChrootDirectory /home
AllowTCPForwarding no
X11Forwarding no
ForceCommand internal-sftp
permisos de directorio:
root@server:~ # chown root:root /home
root@server:~ # chmod 111 /home
root@server:~ # chmod 700 /home/*
Ahora /home
satisface los requisitos ChrootDirectory
y los usuarios restringidos no pueden enumerarlos, pero los sftponly
usuarios no podrán iniciar sesión si sus directorios de inicio están configurados como de costumbre ( /home/$LOGNAME
): en el entorno chrooteado, sus directorios de inicio no están dentro /home
sino directamente debajo raíz ( /
).
solución 1
Establezca las casas restringidas de los usuarios para que aparezcan en chroot:
root@server:~ # usermod -d /username username
advertencia 1
Si alguno de los usuarios sin restricciones o alguna secuencia de comandos de administración usa la expansión tilde de bash como ~username
se expandirá hasta /username
ahora, que no es lo que se quiere decir.
Además, el administrador que crea sftponly
usuarios tiene que recordar usar el hogar no predeterminado. Solucionable con un guión. Que el administrador debe recordar usar.
solución 2
Esta es una alternativa a la anterior que terminamos usando:
root@server:~ # ln -s . /home/home
Es decir, crear un enlace simbólico dentro /home
de su propio nombre de directorio. Ahora bajo chroot /home/username
apunta al mismo directorio que sin chroot. Para el usuario restringido que inició sesión con sftp, aparecería como /username
. Este directorio se puede escribir a su propietario (usuario restringido). El usuario restringido no puede enumerar sus directorios principales o principales de ninguno de los hermanos por nombre.
Lo único especial de un sftponly
usuario es su participación en el sftponly
grupo. Encontramos que es más fácil de tratar que la solución 1.
advertencias 2
- No puede tener un usuario llamado 'inicio' con un directorio de inicio
/home/home
- Debe tener cuidado con los scripts que atraviesan la
/home
jerarquía y siguen los enlaces simbólicos.
chroot
usuarios ed son dueños de susChrootDirectory
? ¿Pueden acceder a él?