Cara membatasi pengguna SFTP ke direktori rumah menggunakan penjara chroot
- 885
- 238
- Dwayne Hackett
Dalam tutorial ini, kita akan membahas cara membatasi Sftp Pengguna ke direktori rumah atau direktori tertentu. Itu berarti pengguna hanya dapat mengakses direktori home masing -masing, bukan seluruh sistem file.
Membatasi Direktori Rumah Pengguna sangat penting, terutama di lingkungan server bersama, sehingga pengguna yang tidak berwenang tidak akan menyelinap mengintip file dan folder pengguna lain.
Penting: Harap perhatikan juga bahwa tujuan artikel ini adalah untuk menyediakan akses SFTP saja, bukan login SSH, dengan mengikuti artikel ini akan memiliki izin untuk melakukan transfer file, tetapi tidak diizinkan untuk melakukan sesi SSH jarak jauh.
Disarankan Baca: Batasi akses pengguna SSH ke direktori tertentu menggunakan penjara chrooted
Cara paling sederhana untuk melakukan ini, adalah dengan menciptakan lingkungan penjara yang dibarung untuk akses SFTP. Metode ini sama untuk semua sistem operasi UNIX/Linux. Menggunakan lingkungan chrooted, kami dapat membatasi pengguna baik ke direktori rumah mereka atau ke direktori tertentu.
Membatasi pengguna ke direktori rumah
Di bagian ini, kami akan membuat grup baru yang disebut sftpgroup dan menetapkan kepemilikan dan izin yang benar ke akun pengguna. Ada dua pilihan untuk membatasi pengguna ke rumah atau direktori tertentu, kami akan melihat kedua jalan dalam artikel ini.
Membuat atau memodifikasi pengguna dan grup
Mari kita batasi pengguna yang ada, misalnya tecmint
, ke direktori rumahnya bernama /home/tecmint
. Untuk ini, Anda perlu membuat yang baru sftpgroup grup menggunakan groupadd perintah seperti yang ditunjukkan:
# GroupAdd SFTPGroup
Selanjutnya, tetapkan pengguna 'tecmint' ke sftpgroup kelompok.
# Usermod -g sftpgroup tecmint
Anda juga dapat membuat pengguna baru menggunakan perintah UserAdd, misalnya Senthil
dan tetapkan pengguna ke sftpusers kelompok.
# adduser senthil -g sftpgroup -s /sbin /nologin # passwd tecmint
Ubah File Konfigurasi SSH
Buka dan tambahkan baris berikut /etc/ssh/sshd_config
file konfigurasi.
Subsistem SFTP Internal-SFTP Match Group SFTPGROUP CHROOTDIRECTORY /HOME Forcecomand Internal-SFTP X11 untuk No ILLOVETCPFORWARDING NO NO
Simpan dan keluar dari file, restart layanan SSHD untuk mengambil perubahan baru.
# Systemctl Restart SSHD atau # Service SSHD Restart
Jika Anda mengisap banyak pengguna ke direktori yang sama, Anda harus mengubah izin dari direktori home masing -masing pengguna untuk mencegah semua pengguna menjelajahi direktori home dari pengguna masing -masing.
# chmod 700 /home /tecmint
Verifikasi Pengguna SSH dan SFTP Masuk
Sekarang, saatnya memeriksa login dari sistem lokal. Coba ssh sistem jarak jauh Anda dari sistem lokal Anda.
# ssh [email dilindungi]
Di Sini,
- tecmint - Nama pengguna sistem jarak jauh.
- 192.168.1.150 - Alamat IP Sistem Jarak Jauh.
Output sampel:
Kata sandi [email dilindungi]: tidak dapat chdir ke direktori home /home /tecmint: tidak ada file atau direktori seperti itu layanan ini memungkinkan koneksi sftp saja. Koneksi ke 192.168.1.150 ditutup.
Kemudian, akses sistem jarak jauh menggunakan SFTP.
# sftp [email dilindungi]
Output sampel:
Kata sandi [email dilindungi]: terhubung ke 192.168.1.150. sftp>
Mari kita periksa direktori kerja saat ini:
sftp & gt pwd Direktori kerja jarak jauh: / sftp & gt ls tecmint
Di Sini, tecmint
adalah direktori rumah. CD ke tecmint direktori dan buat file atau folder pilihan Anda.
sftp & gt cd tecmint Direktori kerja jarak jauh: / Tes SFTP & GT MKDIR tecmint
Membatasi pengguna ke direktori tertentu
Dalam contoh kami sebelumnya, kami membatasi pengguna yang ada ke direktori home. Sekarang, kita akan melihat cara membatasi pengguna baru ke direktori khusus.
Buat grup dan pengguna baru
Buat grup baru sftpgroup
.
# GroupAdd SFTPGroup
Selanjutnya, buat direktori untuk grup SFTP dan tetapkan izin untuk pengguna root.
# mkdir -p/sftpusers/chroot # chown root: root/sftpusers/chroot/
Selanjutnya, buat direktori baru untuk setiap pengguna, yang akan memiliki akses penuh. Misalnya, kami akan membuat tecmint
Pengguna dan direktori home baru dengan izin grup yang benar menggunakan serangkaian perintah berikut.
# adduser tecmint -g sftpgroup -s/sbin/nologin # passwd tecmint # mkdir/sftpusers/chroot/tecmint # chown tecmint: sftpgroup/sftpusers/chroot/tecmint/ # chmod 700/sftpusers/sftpusers/sftpusers/sfroot/chroot/tecmint/ # chmod 700/sftpusers/sftpusers/sftpusers/chroot/chroot/tecmint/ # chmod 700/sftpusers/sftpusers/sfroot
Konfigurasikan SSH untuk akses SFTP
Ubah atau tambahkan baris berikut di akhir file:
#Subsystem sftp/usr/libexec/openssh/sftp-server subsistem sftp internal-sftp match grup sftpgroup chrootdirectory/sftpusers/chroot/forcecomand internal-sftp x11 forwarding no tntcpporwarding no no no
Simpan dan Keluar dari file. Restart SSHD Service agar berlaku untuk perubahan yang disimpan.
# Systemctl Restart SSHD atau # Service SSHD Restart
Itu saja, Anda dapat memeriksa dengan masuk ke server SSH dan SFTP jarak jauh Anda dengan menggunakan langkah yang disediakan di atas di Verifikasi SSH dan Login SFTP.
Berhati -hatilah bahwa metode ini akan menonaktifkan akses shell, saya.E Anda tidak dapat mengakses sesi shell sistem jarak jauh menggunakan SSH. Anda hanya dapat mengakses sistem jarak jauh melalui SFTP dan melakukan transfer file ke dan dari sistem lokal dan jarak jauh.
Kesimpulan
Sekarang Anda tahu cara membatasi direktori rumah pengguna menggunakan lingkungan chroot di linux. Jika Anda menemukan ini bermanfaat, bagikan artikel ini di jejaring sosial Anda dan beri tahu kami di bagian komentar di bawah ini jika ada metode lain untuk membatasi direktori rumah pengguna.
- « Cara menginstal Magento CMS terbaru di Ubuntu dan Debian
- 3 cara untuk mendaftarkan semua paket yang diinstal di RHEL, Centos dan Fedora »