Cara tidak mengizinkan pengguna di luar direktori home dengan SFTP

4

Saya menjalankan Ubuntu 10,04. Saya memiliki direktori home pengguna yang ditetapkan, tetapi saya ingin membatasi mereka ke direktori home mereka dan anak-anaknya ketika mereka terhubung melalui SFTP.

Dengan kata lain: tidak membiarkan mereka keluar dari situ.

Apa yang harus saya lakukan untuk mencapai ini?

Janis Peisenieks
sumber
Maksud Anda, Anda tidak ingin mereka dapat menjalankan apa pun di / bin dan / usr / bin? Jadi tidak ada shell, gui atau perintah yang dapat diakses pengguna secara tradisional?
Paul
Apa yang ingin Anda capai? Misalnya, membatasi akses ke direktori home di FTP atau SFTP?
Daniel Beck
Maksud saya di ftp. Diedit sesuai
Janis Peisenieks
1
Dangit, maksudku sftp. Jangan pasang ftp.
Janis Peisenieks

Jawaban:

9

FTP

Dari dokumentasi Ubuntu :

Mengamankan FTP

Ada beberapa opsi /etc/vsftpd.confuntuk membantu membuat vsftpd lebih aman. Sebagai contoh, pengguna dapat dibatasi pada direktori home mereka dengan membatalkan komentar:

chroot_local_user=YES

Anda juga dapat membatasi daftar pengguna tertentu hanya pada direktori home mereka:

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list

Setelah menghapus komentar opsi di atas, buat /etc/vsftpd.chroot_listdaftar pengguna yang berisi satu per baris. Kemudian mulai kembali vsftpd:

sudo /etc/init.d/vsftpd restart

SFTP

Edit /etc/ssh/sshd_config:

Atur subsystem sftp internal-sftpjika perlu.

Tambahkan yang berikut ini:

Match user theUserName
    ChrootDirectory %h
    ForceCommand internal-sftp

Simpan dan uji konfigurasi dengan menjalankan sshd -t. Jika ini berhasil, mulai ulang sshsetelahnya untuk menerapkan perubahan.

Bergantung pada pengaturan persis Anda, folder yang Anda tentukan sebagai ChrootDirectory( %hadalah rumah pengguna) harus dimiliki roottanpa izin menulis untuk orang lain. Jadi ini bukan direktori home yang sebenarnya .

Daniel Beck
sumber
Terima kasih! Saya mencoba ini, dan yang terjadi adalah - pengguna tidak dapat terhubung lagi. FileZilla say'sServer unexpectedly closed network connection
Janis Peisenieks
@JanisPeisenieks Tidak dapat terhubung lagi menggunakan SSH, SCP atau SFTP?
Daniel Beck
SFTP dan SSH. Jangan gunakan SCP, jadi tidak bisa mengonfirmasi
Janis Peisenieks
1
@JanisPeisenieks SSH tidak akan berfungsi lagi, karena pengguna tidak lagi memiliki akses ke shell loginnya yang dipasang di luar direktori home chroot'ed-nya. Anda harus menyalin program dan pustaka yang diperlukan agar tersedia. Coba baca terus chroot, itu benar-benar berperilaku dengan cara yang sama. Mengenai masalah SFTP, periksa file log jika Anda belum melakukannya. Saya menduga ini masalah izin seperti yang saya sebutkan di paragraf terakhir dari posting saya.
Daniel Beck
Yang saya bad ownership or modes for chroot directory component "/srv/www/"
dapatkan