Cara membatasi pengguna SFTP ke direktori rumah menggunakan penjara chroot

Cara membatasi pengguna SFTP ke direktori rumah menggunakan penjara chroot

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,

  1. tecmint - Nama pengguna sistem jarak jauh.
  2. 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.