Untuk mengizinkan fungsionalitas ChrootDirectory pada basis per pengguna, gunakan konfigurasi sshd yang dijalankan bersyarat (menggunakan "Match ” kata kunci) di sshd_config mengajukan. Menyetel ChrootDirectory pada Grup tertentu, memastikan bahwa pengguna grup tersebut tidak dapat keluar dari direktori beranda mereka, yang pada gilirannya memastikan tidak ada pengguna lain yang terpengaruh.
1. Buat grup untuk pengguna yang akan di-chroot.
# groupadd sftp_group
2. Buat pengguna untuk grup SFTP &atur kata sandi.
# useradd sftp_test1
# passwd sftp_test1 Changing password for user sftp_test1. New password: Retype new password: passwd: all authentication tokens updated successfully.
3. Tambahkan pengguna sftp_test1 ke grup sftp_group. Biarkan shell pengguna menjadi /bin/false karena pengguna hanya boleh melakukan sftp dan bukan ssh/scp.
# usermod -g sftp_group -s /bin/false sftp_test1
# id sftp_test1 uid=1000(sftp_test1) gid=1001(sftp_test1) groups=1001(sftp_test1),1000(sftp_group)CATATAN :Pengguna yang tidak berada dalam grup ini masih dapat masuk ke host melalui ssh dan berinteraksi dengan openssh secara normal.
4. Edit konfigurasi sshd untuk mengkonfigurasi sftp. Hapus /usr/libexec/openssh/sftp-server baris dan tambahkan baris internal-sftp seperti yang ditunjukkan di bawah ini:
Hapus atau hash baris:
# vi /etc/ssh/sshd_config Subsystem sftp /usr/libexec/openssh/sftp-server
tambahkan baris di bawah ini:
# vi /etc/ssh/sshd_config Subsystem sftp internal-sftp
5. Tambahkan konten di bawah ini ke akhir file /etc/ssh/sshd_config untuk menambahkan lingkungan chroot sftp:
# vi /etc/ssh/sshd_config Match Group sftp_group X11Forwarding no AllowTcpForwarding no ChrootDirectory /home ForceCommand internal-sftp
5. Mulai ulang layanan sshd untuk menerapkan konfigurasi sftp.
# systemctl restart sshd
Verifikasi
1. Sekarang coba akses sistem dengan layanan SSH &SFTP dari klien lain:
a. SSH
# ssh [email protected] The authenticity of host 'x.x.x.x (x.x.x.x)' can't be established. ECDSA key fingerprint is 07:1c:34:30:f4:81:e1:e0:b3:13:30:b8:57:d9:d9:58. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added 'x.x.x.x' (ECDSA) to the list of known hosts. [email protected]'s password: Could not chdir to home directory /home/sftp_test1: No such file or directory This service allows sftp connections only. Connection to x.x.x.x closed.
Seperti yang Anda lihat di atas, koneksi ditutup dan tidak diizinkan untuk masuk ke SSH.
b. SFTP
# sftp [email protected] [email protected]'s password: Connected to x.x.x.x. sftp> pwd Remote working directory: / sftp> ls sftp_test1 sftp> cd /home Couldn't canonicalize: No such file or directory sftp>
Akibatnya pengguna sftp_test1 di atas masuk melalui SFTP dan tidak dapat mengubah direktori karena lingkungan chroot
3. Anda juga dapat menguji fungsi SFTP-Server dari klien windows dengan menggunakan software “WinSCP” atau “Filezilla”.