Instal dan konfigurasikan vsftpd pada instans ECS Linux untuk mengaktifkan transfer file FTP yang aman.
Penerapan cepat
Klik Run now untuk membuka Terraform Explorer dan secara otomatis membangun situs FTP pada instans ECS.
Prasyarat
Instans ECS yang memenuhi persyaratan berikut telah dibuat. Untuk membuatnya, lihat Create an instance using the wizard.
-
Sistem operasi: Alibaba Cloud Linux 3/2, CentOS 7.x 64-bit, Ubuntu, atau Debian.
-
Alamat IP: Instans memiliki Alamat IP publik statis atau EIP yang terkait. Lihat Elastic IP Address.
Ikhtisar
vsftpd (Very Secure FTP Daemon) adalah server FTP open-source untuk sistem UNIX dan Linux. Fitur utama:
-
Keamanan tinggi: audit keamanan ketat dan berbagai mekanisme untuk mencegah serangan umum.
-
Kinerja tinggi: menangani banyak koneksi bersamaan dengan transfer file yang efisien.
-
Konfigurasi sederhana: opsi fleksibel dan mudah dipahami untuk berbagai kebutuhan.
-
Dukungan IPv6: dukungan native untuk jaringan IPv6.
Bangun layanan VSFTP
Alibaba Cloud Linux 3 dan 2/CentOS 7.x
Langkah 1: Instal vsftpd
-
Perbarui sistem dan instal
vsftpd.sudo yum update -y sudo yum install vsftpd -y -
Jalankan layanan FTP dan aktifkan auto-start saat boot.
sudo systemctl start vsftpd sudo systemctl enable vsftpd -
Periksa apakah layanan telah dijalankan.
netstat -antup | grep ftpOutput yang mirip dengan berikut menunjukkan layanan FTP berhasil dijalankan.

Secara default, vsftpd mengaktifkan akses anonim. Pengguna anonim dapat login tanpa kredensial tetapi tidak dapat memodifikasi atau mengunggah file.
Langkah 2: Konfigurasi vsftpd
-
Buat pengguna FTP khusus dan atur kata sandinya. Contoh ini menggunakan
ftpuser.sudo useradd -d /data/ftp -s /sbin/nologin ftpuser # Tentukan direktori home dan nonaktifkan akses shell sudo passwd ftpuser -
Buat direktori FTP dan atur izinnya.
sudo mkdir -p /data/ftp # Buat direktori penyimpanan kustom sudo chown ftpuser:ftpuser /data/ftp sudo chmod 750 /data/ftp # Izin harus 755 atau 750 -
Edit file konfigurasi
vsftpd.CatatanFTP mendukung mode aktif dan pasif. Mode pasif direkomendasikan karena sebagian besar klien berada di belakang firewall atau NAT dan tidak dapat mengekspos alamat IP aslinya.
-
Buat cadangan file konfigurasi
vsftpd.sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak -
Edit file konfigurasi.
sudo vim /etc/vsftpd/vsftpd.conf -
Atur konfigurasi keamanan dasar.
listen=YES # Aktifkan listener IPv4 anonymous_enable=NO # Nonaktifkan akses anonim local_enable=YES # Aktifkan login pengguna lokal write_enable=YES # Izinkan unggah file chroot_local_user=YES # Kunci pengguna ke direktori home-nya allow_writeable_chroot=YES # Atasi error penulisan chroot -
Tambahkan konfigurasi mode pasif.
pasv_enable=YES # Aktifkan mode pasif pasv_min_port=40000 # Batas bawah rentang port pasif pasv_max_port=40100 # Batas atas rentang port pasif pasv_address=public_ip_address # Harus diatur ke Alamat IP publik server
-
-
Restart
vsftpd.sudo systemctl restart vsftpd
Langkah 3: Atur aturan security group
Setelah membangun layanan FTP, tambahkan aturan grup keamanan masuk berdasarkan mode FTP. Lihat Add a security group rule.
Sebagian besar klien berada di belakang LAN dengan alamat IP yang diterjemahkan. Dalam mode aktif, klien harus mengekspos alamat IP aslinya, atau koneksi FTP dapat gagal.
-
Mode aktif: Izinkan lalu lintas pada Port 21.
-
Mode pasif: Izinkan lalu lintas pada Port 21 dan port 40000–40100 (rentang pasv_min_port hingga pasv_max_port dalam /etc/vsftpd/vsftpd.conf). Lihat Configuring FTP passive mode ports.
Langkah 4: Verifikasi layanan FTP
Anda dapat memverifikasi layanan FTP dengan klien FTP, browser, atau file explorer. Contoh ini menggunakan file explorer.
-
Uji koneksi lokal.
Uji koneksi dari mesin lokal.
ftp ftpuser@localhostPesan
Login successfulmenunjukkan koneksi berhasil.
-
Uji koneksi klien.
Pada komputer klien, buka file explorer dan masukkan alamat FTP, seperti yang ditunjukkan pada gambar.

Masukkan username dan password FTP pada kotak dialog login. Setelah login, Anda dapat mengunggah dan mengunduh file.
Ubuntu dan Debian
Langkah 1: Instal VSFTP
-
Perbarui sistem dan instal
vsftpd.sudo apt update && sudo apt upgrade -y sudo apt install vsftpd -y -
Jalankan
vsftpddan aktifkan auto-start saat boot.sudo systemctl start vsftpd sudo systemctl enable vsftpd
Langkah 2: Konfigurasi VSFTP
-
Buat pengguna FTP khusus.
sudo useradd -m -s /bin/bash ftpuser # Buat pengguna dan secara otomatis buat direktori home sudo passwd ftpuser # Atur kata sandi pengguna (disarankan kata sandi kuat) -
Buat direktori penyimpanan file dan atur izinnya.
sudo mkdir /home/ftpuser/ftp-files sudo chown ftpuser:ftpuser /home/ftpuser/ftp-files sudo chmod 755 /home/ftpuser/ftp-files -
Buat cadangan file konfigurasi asli.
sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak -
Edit file konfigurasi.
sudo nano /etc/vsftpd.confTerapkan pengaturan berikut:
# Konfigurasi dasar listen=YES anonymous_enable=NO # Nonaktifkan akses anonim local_enable=YES # Izinkan login pengguna lokal write_enable=YES # Aktifkan izin menulis chroot_local_user=YES # Kunci pengguna di direktori home-nyaTambahkan baris berikut ke file:
allow_writeable_chroot=YES # Izinkan menulis ke direktori chroot local_root=/home/ftpuser/ftp-files # Tentukan direktori root untuk pengguna FTP # Konfigurasi mode pasif (untuk mengatasi masalah koneksi jaringan eksternal) pasv_enable=YES pasv_address=xx.xx.xx.xx # Ganti dengan Alamat IP publik Anda pasv_min_port=40000 pasv_max_port=40100 -
Restart layanan FTP.
sudo systemctl restart vsftpd -
Pengguna default bernama ftp dibuat tanpa kata sandi selama instalasi FTP. Ubah kata sandi pengguna ini.
sudo passwd ftpAtur kata sandi kuat dan lewati semua prompt lainnya.
-
Tambahkan pengguna ke daftar izin pengguna FTP.
echo "ftp" | sudo tee -a /etc/vsftpd.userlist -
Buat direktori file FTP dan berikan izin pengguna.
-
Buat folder FTP.
sudo mkdir /home/ftp -
Atur kepemilikan folder.
Contoh ini memberikan izin baca, tulis, dan kontrol penuh. Sesuaikan sesuai kebutuhan.
sudo chmod 777 /home/ftp
-
Langkah 3: Atur aturan security group
Setelah membangun layanan FTP, tambahkan aturan grup keamanan masuk berdasarkan mode FTP. Lihat Add a security group rule.
Sebagian besar klien berada di belakang LAN dengan alamat IP yang diterjemahkan. Dalam mode aktif, klien harus mengekspos alamat IP aslinya, atau koneksi FTP dapat gagal.
-
Mode aktif: Izinkan lalu lintas pada Port 21.
-
Mode pasif: Izinkan lalu lintas pada Port 21 dan port 40000–40100 (rentang pasv_min_port hingga pasv_max_port dalam /etc/vsftpd/vsftpd.conf). Lihat Set up an FTP site on Windows.
Langkah 4: Verifikasi layanan FTP
Anda dapat memverifikasi layanan FTP dengan klien FTP, browser, atau file explorer. Contoh ini menggunakan file explorer.
-
Uji koneksi lokal.
Uji koneksi dari mesin lokal.
ftp ftpuser@localhostPesan
Login successfulmenunjukkan koneksi berhasil.
-
Uji koneksi klien.
Pada komputer klien, buka file explorer dan masukkan alamat FTP, seperti yang ditunjukkan pada gambar.

Masukkan username dan password FTP pada kotak dialog login. Setelah login, Anda dapat mengunggah dan mengunduh file.
Pemecahan Masalah
|
Masalah |
Solusi |
|
Timeout setelah |
Periksa Alamat IP publik dan aturan firewall di sisi klien maupun server. |
|
|
Atur izin direktori menjadi 755. |
|
Hanya direktori kosong yang ditampilkan |
Periksa konfigurasi |
|
|
Jalankan |
|
Timeout koneksi mode pasif |
Periksa aturan firewall dan pengaturan pasv_address. |
|
Tidak dapat mengunggah file |
Verifikasi izin direktori adalah 755 atau 750. |
Lampiran
File dan parameter konfigurasi vsftpd
File dalam direktori /etc/vsftpd:
-
/etc/vsftpd/vsftpd.conf: File konfigurasi inti vsftpd. -
/etc/vsftpd/ftpusers: File daftar hitam. Pengguna dalam file ini tidak dapat mengakses server FTP. -
/etc/vsftpd/user_list: File daftar putih. Pengguna dalam file ini dapat mengakses server FTP.
Parameter dalam file konfigurasi vsftpd.conf:
-
Parameter kontrol login:
Parameter
Deskripsi
anonymous_enable=YES
Menerima pengguna anonim.
no_anon_password=YES
Pengguna anonim dapat login tanpa kata sandi.
anon_root=(none)
Direktori home untuk pengguna anonim.
local_enable=YES
Menerima pengguna lokal.
local_root=(none)
Direktori home untuk pengguna lokal.
-
Parameter kontrol izin pengguna:
Parameter
Deskripsi
write_enable=YES
Mengizinkan unggah file (global).
local_umask=022
Izin file untuk unggahan pengguna lokal.
file_open_mode=0666
Izin file untuk unggahan. Bekerja bersama local_umask.
anon_upload_enable=NO
Pengguna anonim dapat mengunggah file.
anon_mkdir_write_enable=NO
Pengguna anonim dapat membuat direktori.
anon_other_write_enable=NO
Pengguna anonim: izin edit dan hapus.
chown_username=lightwiter
Username untuk unggahan file anonim.