chrooting sftp es una función proporcionada por el paquete OpenSSH en Linux. Puede configurar un entorno chroot para evitar alteraciones no deseadas del sistema, incluidas las cargas en ubicaciones no deseadas cuando los usuarios utilizan sftp. Cuando chroot sftp para un usuario específico o para todos los usuarios, los usuarios solo pueden acceder a sus directorios de inicio y subdirectorios debajo de él.
Método 1 (por openssh de forma nativa)
A partir de la versión openssh-5.x, sftp podría hacer chroot en un directorio específico. Los siguientes pasos podrían implementar el chroot de openssh nativo para sftp.
1. Cree el directorio de la cárcel.
# mkdir /chroot/home
2. Móntelo en /home de la siguiente manera:
# mount -o bind /home /chroot/home
3. Edite /etc/ssh/sshd_config de la siguiente manera:
# vi /etc/ssh/sshd_config ChrootDirectory /chroot Subsystem sftp internal-sftp
4. reinicie el servicio sshd:
# service sshd restartNota :Asegúrese de que el directorio de la cárcel sea propiedad de la raíz y que ningún otro usuario o grupo pueda escribirlo.
Método 2 (usando pam_chroot)
1. Agregue chroot en /etc/pam.d/sshd archivo:
# vi /etc/pam.d/sshd session required pam_chroot.so
2. Modifique /etc/security/chroot.conf para incluir el directorio chroot.
# vi /etc/security/chroot.conf user /chroot_dir
3. Modificar /etc/ssh/ssh_config
# vi /etc/ssh/ssh_config Subsystem sftp /usr/libexec/openssh/sftp-server
4. Reinicie sshd para aplicar la nueva configuración:
# service sshd restart