chrooting sftp adalah fitur yang disediakan oleh paket OpenSSH di Linux. Anda dapat mengatur lingkungan chroot untuk menghindari perubahan sistem yang tidak diinginkan termasuk mengunggah di lokasi yang tidak diinginkan saat pengguna menggunakan sftp. Saat Anda melakukan chroot sftp untuk pengguna tertentu atau semua pengguna, pengguna hanya dapat mengakses direktori home dan subdirektori di bawahnya.
Metode 1 (dengan openssh secara native)
Mulai dari versi openssh-5.x, sftp dapat melakukan chroot ke direktori tertentu. Langkah-langkah berikut dapat mengimplementasikan chroot openssh asli untuk sftp.
1. Buat direktori penjara.
# mkdir /chroot/home
2. Pasang ke /home sebagai berikut:
# mount -o bind /home /chroot/home
3. Edit /etc/ssh/sshd_config sebagai berikut:
# vi /etc/ssh/sshd_config ChrootDirectory /chroot Subsystem sftp internal-sftp
4. restart layanan sshd:
# service sshd restartCatatan :Harap pastikan direktori jail harus dimiliki root dan tidak dapat ditulis oleh pengguna atau grup lain.
Metode 2 (dengan menggunakan pam_chroot)
1. Tambahkan chroot ke /etc/pam.d/sshd berkas:
# vi /etc/pam.d/sshd session required pam_chroot.so
2. Ubah /etc/security/chroot.conf untuk memasukkan direktori chroot.
# vi /etc/security/chroot.conf user /chroot_dir
3. Ubah /etc/ssh/ssh_config
# vi /etc/ssh/ssh_config Subsystem sftp /usr/libexec/openssh/sftp-server
4. Mulai ulang sshd untuk menerapkan konfigurasi baru:
# service sshd restart