Creé el usuario MY_USER. Establezca su directorio de inicio en / var / www / RESTRICTED_DIR, que es la ruta a la que debe estar restringido. Luego edité sshd_config y establecí:
Match user MY_USER
ChrootDirectory /var/www/RESTRICTED_DIR
Luego reinicié ssh. Hice MY_USER propietario (y propietario del grupo) de RESTRICTED_DIR, y lo modifiqué a 755. Obtengo
Accepted password for MY_USER
session opened for user MY_USER by (uid=0)
fatal: bad ownership or modes for chroot directory component "/var/www/RESTRICTED_DIR"
pam_unix(sshd:session): session closed for user MY_USER
Si eliminé las 2 líneas de sshd_config, el usuario puede iniciar sesión correctamente. Por supuesto, puede acceder a todo el servidor. ¿Cuál es el problema? Incluso intenté poner RESTRICTED_DIR en la raíz (como leí en alguna parte que alguien resolvió este mismo problema haciéndolo). Sin suerte..

/,/var,/var/www, y/var/www/RESTRICTED_DIRtodos debemos reúnen los requisitos de seguridad más arriba). Es un verdadero chroot (revise la página de manual): el directorio de inicio de su usuario debe existir dentro del chroot , al igual que/bintodas las demás cosas que su usuario necesitará ...sudo chown root:root -R /path/to/home; sudo chmod 755 -R /path/to/home/var/wwwruta directamente, lo que podría romper apache, sería mucho mejor colocar su directorio sftp en otra ruta, luego usar la asignación de URL en Apache para apuntar al otro directorio . Consulte la documentación aquí httpd.apache.org/docs/2.4/urlmapping.html enFiles Outside DocumentRootEl directorio ChrootDirectory debe ser propiedad de root y tener modo 755:
Ok, ahora todos los archivos
/var/www/RESTRICTED_DIRdeben ser propiedad deMY_USER, que deben pertenecer alwww-datagrupo, y tener el modo 775 para permitir permisos de grupo, como este:NOTA: Recuerde que es una buena práctica permitir el acceso solo a una carpeta htdocs si está configurando apache.
fuente
sudo usermod -a -G www-data MY_USERcomo el grupo debería venir después-GDespués de resolver algunos problemas hoy, me di cuenta de que la raíz también debe poder escribir en los directorios.
Lo siguiente no funcionó:
Tan pronto como solucioné esto, mi chroot comenzó a funcionar.
fuente