Jawaban:
SSH Mendukung chroot pengguna SFTP secara asli. Anda hanya perlu memasok
Direktori Chroot
Di file konfigurasi sshd Anda, dan restart sshd.
Jika Anda hanya melakukan sftp, maka Anda tidak perlu melakukan apa-apa lagi. Sayangnya, ini tidak berfungsi untuk scp. Untuk shell interaktif, Anda perlu menyalin binari, dan / dev node ke chroot.
Contoh konfigurasi, hanya untuk satu pengguna, testuser:
Match User testuser
ChrootDirectory /home/testuser
ForceCommand internal-sftp
Beberapa hal yang perlu diperhatikan, dari halaman manual sshd_config:
Semua komponen pathname harus direktori milik root yang tidak
dapat ditulis oleh pengguna atau grup lain. Setelah chroot, sshd (8) mengubah
direktori kerja ke direktori home pengguna.
Cari ChrootDirectory di man sshd_config untuk informasi lebih lanjut.
Subsystem sftp /usr/lib/openssh/sftp-serverjalur keSubsystem sftp internal-sftp -f AUTH -l VERBOSE
Matchbagian lain .
Chroot adalah metode yang cukup sederhana. Karena sistem operasi sudah memiliki fitur keamanan ini, penulis daemon cenderung tidak berusaha untuk mengimplementasikannya kembali.
Rssh dilengkapi dengan panduan tentang cara mengatur chroot jail. Ada dalam CHROOTfile di distribusi sumber. Singkatnya, Anda harus memiliki:
/usr/bin/scp, /usr/libexec/openssh/sftp-server,/usr/bin/rssh_chroot_helper{/usr,}/lib/lib*.so.[0-9]) yang mereka gunakan, juga disalin/etc/passwd(sangat mungkin bukan salinan tetapi berasal dari master)/dev/null,, /dev/ttydan juga /dev/logsoket untuk logging (dan Anda perlu memberi tahu daemon syslog Anda untuk mendengarkannya)Kiat tambahan yang tidak ada dalam dokumentasi rssh: Jika Anda memerlukan beberapa file agar dapat diakses di chroot jail, Anda dapat menggunakan bindf atau Linux mount --binduntuk membuat hierarki direktori tambahan dari luar jail. bindfsmemungkinkan direktori remounted memiliki izin yang lebih ketat, misalnya hanya baca. ( mount --bindtidak kecuali Anda menerapkan patch kernel; Debian telah menyertakan patch ini sejak di east lenny tetapi sebagian besar distribusi lainnya belum pada 2011.)
Anda mungkin ingin melihat scponly (atau lebih baru-baru ini, rssh ); pada dasarnya shell login yang hanya dapat digunakan untuk meluncurkan subsistem scp atau sftpd. Dalam scponlycvarian itu melakukan chroot sebelum mengaktifkan subsistem yang dimaksud.