全部产品
Search
文档中心

Elastic Compute Service:Bangun server FTP pada instance Linux

更新时间:Jul 06, 2025

Very Secure FTP Daemon (vsftpd) adalah perangkat lunak server FTP sumber terbuka yang banyak digunakan. Dikenal karena performa tinggi, keamanan tinggi, dan stabilitasnya, vsftpd mendukung berbagai protokol terkait FTP seperti FTP, SFTP melalui SSH, dan FTP melalui SSL/TLS. Dokumen ini menjelaskan cara menginstal dan mengonfigurasi vsftpd pada instance Elastic Compute Service (ECS) Linux.

Penyebaran Cepat

Klik di sini untuk membuka Terraform Explorer, di mana Anda dapat melihat dan menjalankan kode Terraform guna membangun situs FTP secara otomatis pada instance ECS.

Prasyarat

Instance ECS telah dibuat dengan pengaturan berikut. Jika belum, buat instance ECS. Untuk informasi lebih lanjut, lihat Buat instance pada tab Peluncuran Kustom.

  • Sistem operasi: Alibaba Cloud Linux 3, Alibaba Cloud Linux 2, CentOS 7.x 64-bit, Ubuntu, atau Debian.

  • Alamat IP: Instance diberi alamat IP publik statis (otomatis atau sistem-tertentu) atau dikaitkan dengan alamat IP elastis (EIP). Untuk informasi lebih lanjut, lihat EIPs.

Manfaat

vsftpd adalah perangkat lunak server FTP sumber terbuka yang dirancang untuk Unix dan Linux. Berikut manfaat utamanya:

  • Keamanan tinggi: vsftpd menjalani audit keamanan ketat dan menggunakan mekanisme keamanan canggih untuk mencegah serangan dan kerentanan umum.

  • Performa unggul: vsftpd menyediakan transfer file berperforma tinggi dan mendukung sejumlah besar koneksi bersamaan.

  • Konfigurasi sederhana: vsftpd menawarkan opsi konfigurasi fleksibel dan mudah dipahami untuk memenuhi berbagai kebutuhan pengguna.

  • IPv6: vsftpd mendukung protokol jaringan generasi berikutnya.

Bangun Layanan VSFTP

Alibaba Cloud Linux 2, Alibaba Cloud Linux 3, dan CentOS 7.x

Langkah 1: Instal vsftpd

  1. Jalankan perintah berikut untuk memperbarui repositori Yellowdog Updater Modified (YUM) dan menginstal vsftpd:

    sudo yum update
    sudo yum install -y vsftpd
  2. Jalankan perintah berikut untuk mengonfigurasi vsftpd agar mulai secara otomatis saat startup sistem:

    systemctl enable vsftpd
  3. Jalankan perintah berikut untuk memulai FTP:

    systemctl start vsftpd
  4. Jalankan perintah berikut untuk memeriksa apakah FTP telah dimulai:

    netstat -antup | grep ftp

    Jika keluaran berikut dikembalikan, FTP telah dimulai sesuai harapan.

    image

    Secara default, vsftpd diaktifkan dalam mode anonim, yang memungkinkan Anda masuk ke server FTP tanpa nama pengguna atau kata sandi. Pengguna anonim tidak dapat memodifikasi atau mengunggah file.

Langkah 2: Konfigurasikan vsftpd

  1. Jalankan perintah berikut untuk membuat pengguna Linux untuk layanan FTP. Dalam contoh ini, pengguna ftpuser dibuat.

    useradd ftpuser
  2. Jalankan perintah berikut untuk menentukan kata sandi untuk pengguna ftpuser:

    passwd ftpuser

    Masukkan kata sandi dan tekan Enter. Kata sandi tidak ditampilkan secara default.

  3. Jalankan perintah berikut untuk membuat direktori file yang digunakan oleh layanan FTP. Dalam contoh ini, direktori /var/ftp/test digunakan.

    mkdir /var/ftp/test
  4. Jalankan perintah berikut untuk memodifikasi izin direktori:

    chown -R ftpuser:ftpuser /var/ftp/test
  5. Jalankan perintah berikut untuk membuka file vsftpd.conf:

    vim /etc/vsftpd/vsftpd.conf
  6. Tekan tombol I untuk masuk ke mode Insert, pilih mode FTP berdasarkan kebutuhan bisnis Anda, lalu modifikasi file vsftpd.conf.

    Catatan

    Server FTP memungkinkan klien FTP terhubung dalam mode aktif atau pasif untuk mentransfer file. Kami merekomendasikan mode pasif untuk membangun layanan FTP. Ini mencegah masalah yang disebabkan oleh pengaturan firewall pada mesin klien FTP dan terjemahan alamat IP. Dalam contoh ini, mode pasif digunakan.

    1. Jalankan perintah berikut untuk mencadangkan file konfigurasi vsftp:

      sudo cp /etc/vsftpd/vsftpd.conf  /etc/vsftpd/vsftpd.conf.bak
    2. Modifikasi parameter berikut untuk memberikan izin akses kepada pengguna anonim dan lokal, tentukan jalur tempat file daftar pengecualian pengguna disimpan, lalu dengarkan pada soket IPv4.

      anonymous_enable=NO
      local_enable=YES
      write_enable=YES
      chroot_local_user=YES
      chroot_list_enable=YES
      chroot_list_file=/etc/vsftpd/chroot_list
      listen=YES
    3. Tambahkan tanda pagar (#) di awal baris untuk mengomentari parameter listen_ipv6=YES guna menonaktifkan instance dari mendengarkan pada soket IPv6.

      #listen_ipv6=YES
    4. Tambahkan parameter berikut untuk mengaktifkan mode pasif, serta tentukan direktori yang diakses oleh pengguna lokal setelah login dan rentang port yang dapat digunakan instance untuk membangun koneksi FTP.

      local_root=/var/ftp/test
      allow_writeable_chroot=YES
      #Jika pasv_enable diatur ke YES, mode pasif diaktifkan. Jika pasv_enable diatur ke NO, mode aktif digunakan.
      pasv_enable=YES
      #Ganti nilai dengan alamat IP publik instance ECS Linux Anda.
      pasv_address=xxx.xx.xxx.xx
      pasv_min_port=40000
      pasv_max_port=40100
      Catatan

      Untuk informasi tentang alasan membuka port tertentu dan saran tentang cara membuka port dalam mode pasif, lihat Bangun situs FTP pada instance Windows.

  7. Tekan tombol Esc, masukkan :wq, lalu tekan Enter untuk menyimpan dan menutup file.

  8. Jalankan perintah berikut untuk membuat dan membuka file chroot_list:

    vim /etc/vsftpd/chroot_list
  9. Tekan tombol I untuk masuk ke mode Insert dan masukkan nama pengguna. Satu nama pengguna menempati satu baris. Setelah selesai, tekan tombol Esc, masukkan :wq, lalu tekan Enter untuk menyimpan dan menutup file. Pengguna yang dikonfigurasi dikunci ke direktori home. Jika Anda tidak ingin menentukan pengguna pengecualian, lewati langkah ini dan masukkan :q untuk menutup file.

    image

  10. Jalankan perintah berikut untuk memulai ulang FTP:

    systemctl restart vsftpd

Langkah 3: Konfigurasikan aturan grup keamanan

Setelah membangun layanan FTP, tambahkan aturan masuk ke grup keamanan tempat instance ECS Linux milik berdasarkan mode FTP. Untuk informasi lebih lanjut, lihat Tambahkan aturan grup keamanan.

Sebagian besar mesin klien berada di LAN, dan alamat IP mereka diterjemahkan. Jika Anda menentukan mode aktif FTP, pastikan bahwa mesin klien dapat menggunakan alamat IP aktual untuk memulai koneksi ke server FTP. Jika tidak, klien mungkin gagal terhubung ke server FTP. Pastikan konfigurasi benar untuk mencegah masalah koneksi dan meningkatkan stabilitas serta ketersediaan layanan FTP.

  • Mode aktif: Buka port 21.

  • Mode pasif: Buka port 21 dan semua port dari port awal (pasv_min_port) hingga port akhir (pasv_max_port) yang ditentukan dalam file /etc/vsftpd/vsftpd.conf. Dalam contoh ini, port 40000 hingga 40100 dibuka.

Langkah 4: Verifikasi layanan FTP

Gunakan perangkat lunak klien FTP, browser, atau pengelola sumber daya file untuk memverifikasi layanan FTP. Dalam contoh ini, File Explorer digunakan sebagai klien FTP.

  1. Pada komputer yang bertindak sebagai klien FTP, akses alamat berikut di bilah alamat, seperti yang ditunjukkan pada gambar berikut.

    image

  2. Dalam kotak dialog yang muncul, masukkan nama pengguna dan kata sandi yang Anda tentukan di Langkah 2.2.

  3. Setelah berhasil masuk ke server FTP, Anda dapat mengunggah dan mengunduh file.

Ubuntu dan Debian

Langkah 1: Instal VSFTP

  1. Jalankan perintah berikut untuk menginstal vsftpd:

    # Perbarui repositori Advanced Packaging Tool (APT).
    sudo apt-get update
    sudo apt-get install vsftpd
  2. Jalankan perintah berikut untuk mencadangkan file konfigurasi asli:

    sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.bak

Langkah 2: Konfigurasikan VSFTP

  1. Jalankan perintah berikut untuk membuka file konfigurasi vsftpd:

    sudo vim /etc/vsftpd.conf
  2. Modifikasi konfigurasi dalam file konfigurasi.

    1. Modifikasi konfigurasi berikut untuk mengonfigurasi izin akses FTP. Izinkan hanya pengguna lokal untuk mengakses FTP dan nonaktifkan akses anonim apa pun.

      anonymous_enable=NO
      local_enable=YES
    2. Modifikasi konfigurasi berikut untuk mengaktifkan unggah file:

      write_enable=YES
    3. Hapus tanda pagar (#) di awal baris berikut untuk menggunakan chroot jails guna membatasi akses pengguna FTP dan mengonfigurasi file pengguna FTP yang dapat diakses.

      chroot_local_user=YES
      chroot_list_file=/etc/vsftpd.chroot_list
    4. Tambahkan konfigurasi berikut ke file konfigurasi untuk membuat direktori layanan FTP dan mengizinkan pengguna menulis di direktori chroot terlampir. Secara default, pengguna tidak dapat menulis di direktori chroot yang dapat ditulis.

      local_root=/home/ftp 
      allow_writeable_chroot=YES
    5. (Opsional) Modifikasi konfigurasi berikut untuk mengonfigurasi mode pasif FTP. vsftpd dapat menggunakan port apa saja untuk membangun koneksi FTP pasif. Anda dapat menentukan nomor port minimum dan maksimum untuk menentukan rentang port yang dapat digunakan vsftpd.

      Tambahkan baris berikut ke file konfigurasi untuk mengizinkan koneksi FTP pasif:

      pasv_min_port=35000
      pasv_max_port=40000
    6. Jalankan perintah berikut untuk memulai ulang vsftpd agar konfigurasi berlaku:

      sudo systemctl restart vsftpd

Langkah 3: Konfigurasikan direktori pengguna FTP

  1. Setelah menginstal FTP, sistem secara otomatis membuat pengguna bernama ftp, dan tidak ada kata sandi yang ditentukan. Jalankan perintah berikut untuk mengubah kata sandi nama pengguna default:

    sudo passwd ftp

    Tentukan kata sandi kuat dan lewati semua prompt.

  2. Jalankan perintah berikut untuk menambahkan pengguna ke daftar pengguna FTP yang diizinkan:

    echo "ftp" | sudo tee -a /etc/vsftpd.userlist
  3. Buat direktori file FTP dan berikan akses ke pengguna.

    1. Jalankan perintah berikut untuk membuat direktori FTP:

      sudo mkdir /home/ftp
    2. Jalankan perintah berikut untuk memberikan pengguna akses ke direktori. Dalam contoh ini, semua izin pada direktori, seperti izin baca dan tulis, diberikan kepada pengguna. Anda dapat memodifikasi izin berdasarkan kebutuhan bisnis Anda.

      sudo chmod 777 /home/ftp

Langkah 4: Konfigurasikan aturan grup keamanan

Setelah membangun layanan FTP, tambahkan aturan masuk ke grup keamanan tempat instance ECS Linux milik berdasarkan mode FTP.

Sebagian besar mesin klien berada di LAN, dan alamat IP mereka diterjemahkan. Jika Anda menentukan mode aktif FTP, pastikan bahwa mesin klien dapat menggunakan alamat IP aktual untuk memulai koneksi ke server FTP. Jika tidak, klien mungkin gagal terhubung ke server FTP. Pastikan konfigurasi benar untuk mencegah masalah koneksi dan meningkatkan stabilitas serta ketersediaan layanan FTP.

  • Mode aktif: Buka port 21.

  • Mode pasif: Buka port 21 dan semua port dari port awal (pasv_min_port) hingga port akhir (pasv_max_port) yang ditentukan dalam file /etc/vsftpd/vsftpd.conf. Untuk informasi tentang alasan membuka port tertentu dan saran tentang cara membuka port dalam mode pasif FTP, lihat Bangun situs FTP pada instance Windows.

Langkah 4: Verifikasi layanan FTP

Gunakan perangkat lunak klien FTP, browser, atau pengelola sumber daya file untuk memverifikasi layanan FTP. Dalam contoh ini, File Explorer digunakan sebagai klien FTP.

  1. Pada komputer tempat klien FTP berada, akses alamat berikut di bilah alamat, seperti yang ditunjukkan pada gambar berikut.

    image

  2. Dalam kotak dialog yang muncul, masukkan nama pengguna dan kata sandi yang Anda tentukan di Langkah 2.2.

  3. Setelah berhasil masuk ke server FTP, Anda dapat mengunggah dan mengunduh file.

Lampiran

File konfigurasi vsftpd dan parameter

Berikut ini menjelaskan file dalam direktori /etc/vsftpd:

  • /etc/vsftpd/vsftpd.conf adalah file konfigurasi inti vsftpd.

  • /etc/vsftpd/ftpusers adalah file daftar hitam. Pengguna yang terdaftar dalam file ini tidak diizinkan mengakses server FTP.

  • /etc/vsftpd/user_list adalah file daftar putih. Pengguna yang terdaftar dalam file ini diizinkan mengakses server FTP.

Tabel berikut menjelaskan parameter yang digunakan dalam file konfigurasi vsftpd.conf.

  • Tabel berikut menjelaskan parameter untuk kontrol login.

    Parameter

    Deskripsi

    anonymous_enable=YES

    Menerima pengguna anonim.

    no_anon_password=YES

    Mengizinkan pengguna anonim masuk ke server FTP tanpa perlu memasukkan kata sandi.

    anon_root=(none)

    Menentukan direktori home pengguna anonim.

    local_enable=YES

    Menerima pengguna lokal.

    local_root=(none)

    Menentukan direktori home pengguna lokal.

  • Tabel berikut menjelaskan parameter yang digunakan untuk mengelola izin pengguna.

    Parameter

    Deskripsi

    write_enable=YES

    Mengizinkan semua pengguna mengunggah file.

    local_umask=022

    Memberikan izin kepada pengguna lokal untuk mengunggah file.

    file_open_mode=0666

    Menggunakan umask untuk memberikan izin mengunggah file.

    anon_upload_enable=NO

    Mengizinkan pengguna anonim mengunggah file.

    anon_mkdir_write_enable=NO

    Mengizinkan pengguna anonim membuat direktori.

    anon_other_write_enable=NO

    Mengizinkan pengguna anonim memodifikasi dan menghapus file.

    chown_username=lightwiter

    Menentukan kepemilikan file yang diunggah oleh pengguna anonim.