Risposte:
SSH Supporta il chrooting nativo di un utente SFTP. Hai solo bisogno di fornire
ChrootDirectory
Nel tuo file di configurazione sshd e riavvia sshd.
Se stai solo facendo sftp, non devi fare altro. Sfortunatamente, questo non funziona per SCP. Per la shell interattiva, dovrai copiare i binari e i nodi / dev nel chroot.
Un esempio di configurazione, per un solo utente, testuser:
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Alcune cose da tenere presenti, dalla pagina man sshd_config:
Tutti i componenti del percorso devono essere directory di proprietà root che non lo sono
scrivibile da qualsiasi altro utente o gruppo. Dopo il chroot, sshd (8) cambia il
directory di lavoro nella home directory dell'utente.
Cerca ChrootDirectory in man sshd_config per ulteriori informazioni.
Subsystem sftp /usr/lib/openssh/sftp-serverlinea inSubsystem sftp internal-sftp -f AUTH -l VERBOSE
Matchsezione.
Un chroot è un metodo ragionevolmente semplice. Poiché il sistema operativo dispone già di questa funzionalità di sicurezza, gli autori di demoni tendono a non tentare di reimplementarla.
Rssh viene fornito con una guida per l'impostazione di un carcere chroot. È nel CHROOTfile nella distribuzione di origine. In poche parole, devi avere:
/usr/bin/scp, /usr/libexec/openssh/sftp-server,/usr/bin/rssh_chroot_helper{/usr,}/lib/lib*.so.[0-9]) che usano, allo stesso modo copiate/etc/passwd(molto probabilmente non una copia ma derivata dal master)/dev/null, /dev/tty, e anche una /dev/logpresa per la registrazione (e avete bisogno di informare il demone di syslog per l'ascolto su quel socket)Suggerimento extra che non è nella documentazione di rssh: se hai bisogno di alcuni file per essere accessibili in un jroot chroot, puoi usare bindfs o Linux mount --bindper creare gerarchie di directory esterne al di fuori del jail. bindfsconsente alla directory rimontata di disporre di autorizzazioni più restrittive, ad esempio di sola lettura. (A mount --bindmeno che non si applichi una patch del kernel; Debian ha incluso questa patch da East Lenny ma la maggior parte delle altre distribuzioni non lo hanno dal 2011.)
Potresti voler guardare scponly (o più recentemente, rssh ); è essenzialmente una shell di login che può essere usata solo per avviare scp o il sottosistema sftpd. Nella scponlycvariante esegue un chroot prima di attivare il sottosistema in questione.