GNU/Linux >> Belajar Linux >  >> Debian

Cara mengkonfigurasi server FTP di Debian 9 Stretch Linux

Tujuan

Tujuannya adalah untuk menginstal dan mengkonfigurasi server FTP pada Debian 9 Stretch Linux yang memungkinkan akses pengguna anonim atau lokal.

Sistem Operasi dan Versi Perangkat Lunak

  • Sistem Operasi: – Debian 9 Peregangan
  • Perangkat Lunak: – vsFTPd versi 3.0.3

Persyaratan

Akses istimewa ke

Kesulitan

SEDANG

Konvensi

  • # – membutuhkan perintah linux yang diberikan untuk dieksekusi dengan hak akses root baik secara langsung sebagai pengguna root atau dengan menggunakan sudo perintah
  • $ – membutuhkan perintah linux yang diberikan untuk dieksekusi sebagai pengguna biasa yang tidak memiliki hak istimewa

Petunjuk

Tutorial berikut akan menjelaskan cara menginstal dan mengkonfigurasi server FTP menggunakan vsFTPd daemon. Ini juga akan membahas berbagai konfigurasi untuk memungkinkan akses tulis atau baca-saja ke pengguna anonim serta pengguna lokal.

Instalasi vsFTPd

Mari kita mulai dengan instalasi server vsFPTd dan klien FTP:

# apt install vsftpd ftp

Secara default, server vsFTPd dikonfigurasikan untuk memungkinkan pengguna sistem mengakses direktori home mereka dengan akses hanya-baca. Berikut ini adalah file konfigurasi default vsFTPd /etc/vsftpd.conf :

listen=NOlisten_ipv6=YESanonymous_enable=NOlocal_enable=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=dtserprin_service_name ssl/private/ssl-cert-snakeoil.keyssl_enable=TIDAK

Seperti yang telah disebutkan, file konfigurasi di atas hanya akan memberikan akses baca-saja ke pengguna sistem mana pun yang terdaftar di dalam /etc/passwd mengajukan. Gunakan ftp perintah dan coba sambungkan menggunakan nama pengguna dan kata sandi dari salah satu pengguna sistem lokal:

# ftp localhostTerhubung ke localhost.220 (vsFTPd 3.0.3)Nama (localhost:root):linuxconfig331 Harap tentukan kata sandinya.Password:230 Login berhasil.Tipe sistem jarak jauh adalah UNIX.Menggunakan mode biner untuk mentransfer file.ftp>
 masukkan FILE.TXTlocal:FILE.TXT remote:FILE.TXT200 perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.550 Izin ditolak.

Jika Anda hanya memerlukan akses hanya-baca oleh pengguna lokal, Anda selesai.

Izinkan Akses Tulis Pengguna

Untuk menambahkan akses tulis untuk semua pengguna lokal sistem, batalkan komentar atau tambahkan bait berikut write_enable=YES . File konfigurasi baru terdiri dari:

listen=NOlisten_ipv6=YESanonymous_enable=NOlocal_enable=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=dtserprin_service_name ssl/private/ssl-cert-snakeoil.keyssl_enable=TIDAKwrite_enable=YA

Selanjutnya, mulai ulang vsFTPd Anda:

# systemctl restart vsftpd

Lakukan tes baru dengan ftp perintah untuk mengonfirmasi akses tulis:

# ftp localhostTerhubung ke localhost.220 (vsFTPd 3.0.3)Nama (localhost:root):linuxconfig331 Harap tentukan kata sandinya.Password:230 Login berhasil.Tipe sistem jarak jauh adalah UNIX.Menggunakan mode biner untuk mentransfer file.ftp>
 masukkan FILE.TXTlocal:FILE.TXT remote:FILE.TXT200 perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.150 Ok untuk mengirim data.226 Transfer complete.ftp>
 ls200 Perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.150 Ini dia daftar direktori.-rw------- 1 1000 1000 0 Jun 07 12:45 FILE.TXT226 Directory send OK.

Hanya Izinkan Pengguna Tertentu

Saat ini server FTP kami mengizinkan akses ke pengguna sistem apa pun yang ditentukan dalam /etc/passwd mengajukan. Untuk mengizinkan hanya pengguna tertentu yang dapat masuk, kami dapat memasukkan baris berikut ke dalam file konfigurasi kami:

userlist_file=/etc/vsftpd.userlistuserlist_enable=YA

Di atas akan mengaktifkan daftar pengguna yang telah ditentukan sebelumnya di mana setiap pengguna terdaftar dalam /etc/vsftpd.userlist ( satu nama pengguna per baris ) akan memiliki akses ke FTP ditolak sementara semua pengguna sistem lainnya akan dapat login. Mari kita buat /etc/vsftpd.userlist baru daftar pengguna yang terdiri dari satu pengguna linuxconfig :

# echo linuxconfig> /etc/vsftpd.userlist

Mulai ulang server vsFTPd:

# systemctl restart vsftpd

Lakukan tes baru dengan ftp perintah untuk mengonfirmasi penolakan akses ke server FTP untuk linuxconfig pengguna:

# ftp localhostTerhubung ke localhost.220 (vsFTPd 3.0.3)Nama (localhost:root):linuxconfig530 Izin ditolak.Login gagal.ftp>
 

Namun, jika Anda harus dapat masuk hanya dengan pengguna yang ditentukan dalam /etc/vsftpd.userlist , tambahkan opsi konfigurasi berikut userlist_deny=NO ke dalam file konfigurasi vsFTPd Anda /etc/vsftpd.conf . Di bawah ini adalah /etc/vsftpd.conf kami saat ini file konfigurasi:

listen=NOlisten_ipv6=YESanonymous_enable=NOlocal_enable=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=dtserprin_service_name ssl/private/ssl-cert-snakeoil.keyssl_enable=NOwrite_enable=YAuserlist_file=/etc/vsftpd.userlistuserlist_enable=YAuserlist_deny=TIDAK

Izinkan Anonim

Pada tahap ini kami juga akan mengizinkan akses hanya-baca oleh pengguna anonim. Mari kita mulai membuat direktori baru yang akan digunakan sebagai direktori root untuk pengguna anonim, mis. /var/ftp . Untuk tujuan pengujian, kami juga dapat menempatkan beberapa file pengujian arbitrer di dalam /var/ftp :

# mkdir /var/ftp/# chmod 555 /var/ftp/# chown ftp.ftp /var/ftp/# touch /var/ftp/ANONYMOUS.TXT

Selanjutnya, sertakan baris berikut ke dalam /etc/vsftpd.conf file konfigurasi untuk menentukan direktori home anonim dan akses anonim:

anon_root=/var/ftpanonymous_enable=YA

Secara opsional, tambahkan no_anon_password=YES baris untuk menginstruksikan vsFTPd untuk mengizinkan pengguna anonim masuk secara otomatis tanpa kata sandi. Karena kita sekarang telah menetapkan daftar pengguna, kita juga harus menambahkan anonymous pengguna ke daftar:

# echo anonymous>> /etc/vsftpd.userlist# cat /etc/vsftpd.userlist linuxconfiganonymous

Seperti biasanya, restart server FTP Anda dan lakukan validitas konfigurasi Anda saat ini:

# systemctl restart vsftpd

Uji login anonim:

# ftp localhostTerhubung ke localhost.220 (vsFTPd 3.0.3)Nama (localhost:root):anonymous230 Login berhasil.Tipe sistem jarak jauh adalah UNIX.Menggunakan mode biner untuk mentransfer file.ftp>
 ls200 Perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.150 Ini dia daftar direktori.-rw-r--r-- 1 0 0 0 Jun 07 13:29 ANONYMOUS.TXT226 Directory send OK.ftp>
 

Di bawah ini Anda dapat menemukan file konfigurasi vsFTPd kami saat ini:

listen=NOlisten_ipv6=YESanonymous_enable=NOlocal_enable=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=dtserprin_service_name ssl/private/ssl-cert-snakeoil.keyssl_enable=NOwrite_enable=YESuserlist_file=/etc/vsftpd.userlistuserlist_enable=YESuserlist_deny=TIDAKanon_root=/var/ftpanonymous_enable=YESno_ESsandi

Aktifkan Akses Tulis Anonim

Selanjutnya, izinkan pengguna anonim untuk mengunggah file dan membuat direktori baru dan banyak lagi. Untuk melakukannya, buat direktori baru upload dalam /var/ftp direktori:

# mkdir /var/ftp/upload# chown ftp.ftp /var/ftp/upload/

Selanjutnya, tambahkan baris berikut ke dalam file konfigurasi vsFTPd Anda:

anon_upload_enable=YESanon_other_write_enable=YESanon_mkdir_write_enable=YA

Mulai ulang server Anda:

# systemctl restart vsftpd

Setelah restart, pengguna anonim akan dapat mengunggah file, buat direktori, ganti nama file:

# ftp localhostTerhubung ke localhost.220 (vsFTPd 3.0.3)Nama (localhost:root):anonymous230 Login berhasil.Tipe sistem jarak jauh adalah UNIX.Menggunakan mode biner untuk mentransfer file.ftp>
 ls200 Perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.150 Ini dia daftar direktori.-rw-r--r-- 1 0 0 0 Jun 07 13:29 ANONYMOUS.TXTdrwxr-xr-x 2 108 112 4096 Jun 07 13:57 upload226 Directory send OK. ftp>
 cd upload250 Directory berhasil diubah.ftp>
 masukkan FILE.TXTlocal:FILE.TXT remote:FILE.TXT200 Perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.150 Ok untuk mengirim data.226 Transfer complete.ftp>
 ls200 Perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.150 Ini dia daftar direktorinya.-rw------- 1 108 112 0 Jun 07 13:57 FILE.TXT226 Directory send OK.ftp>
 rename FILE.TXT NEW.TXT350 Ready for RNTO.250 Ganti nama sukses.ftp>
 ls200 perintah EPRT berhasil. Pertimbangkan untuk menggunakan EPSV.150 Ini dia daftar direktorinya.-rw------- 1 108 112 0 Jun 07 13:57 NEW.TXT226 Directory send OK.ftp>
 

Di bawah ini Anda dapat menemukan file konfigurasi vsFTPd final kami:

listen=NOlisten_ipv6=YESanonymous_enable=NOlocal_enable=YESdirmessage_enable=YESuse_localtime=YESxferlog_enable=YESconnect_from_port_20=YESsecure_chroot_dir=/var/run/vsftpd/emptypam_service_name=dtserprin_service_name ssl/private/ssl-cert-snakeoil.keyssl_enable=NOwrite_enable=YESuserlist_file=/etc/vsftpd.userlistuserlist_enable=YESuserlist_deny=NOanon_root=/var/ftpanonymous_enable=YESno_anon_writeable=non_Sanon_password=YES_ES_write

Lampiran

Pesan kesalahan:

# ftp localhostTerhubung ke localhost.220 (vsFTPd 3.0.3)Nama (localhost:root):anonymous500 OOPS:vsftpd:menolak untuk dijalankan dengan root yang dapat ditulis di dalam chroot()Login failed.ftp>

Di atas menunjukkan bahwa anon_root . Anda direktori dapat ditulis. Solusinya adalah membuatnya hanya-baca. Contoh:

# chmod 555 /var/ftp

Atau coba tambahkan baris berikut ke file konfigurasi vsFTPd Anda:

allow_writeable_chroot=YA

Debian
  1. Cara Menginstal Server LAMP di Debian 9 Stretch Linux

  2. Cara mengkonfigurasi share Samba Server di Debian 9 Stretch Linux

  3. Cara menginstal server komunitas MySQL di Debian 9 Stretch Linux

  1. Cara menginstal TeamViewer di Debian 9 Stretch Linux

  2. Cara mengkonfigurasi NFS di Debian 9 Stretch Linux

  3. Cara Menginstal Jenkins di Debian 9 Stretch Linux

  1. Cara Setup NTP Server dan Client di Debian 9 Stretch Linux

  2. Cara Menginstal WordPress Di Debian 9 Stretch Linux

  3. Cara Menginstal NodeJS di Debian 9 Stretch Linux