Tüm Ürünler
Search
Belge Merkezi

Simple Application Server:Set up an FTP server (Linux)

Son Güncelleme:Sep 30, 2026

Very Secure FTP Daemon (vsftpd), Linux için hafif bir FTP sunucusudur. Bu konu, Linux tabanlı bir Simple Application Server üzerinde vsftpd'nin nasıl kurulup yapılandırılacağını ve bağlantının FileZilla kullanılarak nasıl doğrulanacağını adım adım açıklar.

Not

FTP, kimlik bilgileri dahil olmak üzere verileri düz metin olarak iletir. Şifreleme gerektiren üretim iş yükleri için bunun yerine SFTP veya FTPS kullanmayı düşünün. Bu kılavuz, FTP'nin özel bir gereksinim olduğu kullanım durumları için vsftpd'yi kapsar.

Ön koşullar

Başlamadan önce aşağıdakilere sahip olduğunuzdan emin olun:

FTP bağlantısı ve kimlik doğrulama modları

FTP iki bağlantı modunda çalışır:

  • Aktif mod: İstemci port bilgilerini sunucuya gönderir ve veri bağlantısını sunucu başlatır.

  • Pasif mod: Sunucu bir port açar ve port bilgilerini istemciye gönderir; ardından bağlantıyı istemci başlatır. Bu kılavuz, güvenlik duvarları ve NAT üzerinden daha iyi çalışan pasif modu yapılandırır.

FTP üç kimlik doğrulama modunu destekler:

Mod Güvenlik Açıklama
Anonim kullanıcı modu En düşük Kullanıcı adı veya parola gerekmez. Yalnızca genel dosya aktarımları için uygundur. Üretim ortamında kullanmaktan kaçının.
Yerel kullanıcı modu Orta Yerel Linux kullanıcılarına karşı kimlik doğrulaması yapar. Bu kılavuzda ele alınmıştır.
Sanal kullanıcı modu En yüksek Sistemden izole edilmiş sanal kullanıcılar kullanır. Profesyonel yapılandırma gerektirir.

Bu kılavuz, yerel kullanıcı modunu (önerilen) ve anonim kullanıcı modunu kapsar.

Adım 1: vsftpd'yi yükleyin

  1. Linux sunucunuza bağlanın.

  2. vsftpd'nin zaten yüklü olup olmadığını kontrol edin. Uygulama görüntüleriyle dağıtılan bazı sunucularda vsftpd önceden yüklü gelir; yeniden yüklemek çakışmalara neden olabilir.

    vsftpd -v

    Çıktıda bir sürüm numarası görünüyorsa vsftpd zaten yüklüdür:

    vsftpd: version 3.0.2

    vsftpd zaten yüklüyse FTP kimlik bilgilerini uygulama görüntüsü belgelerinden alın ve doğrudan Adım 3: Güvenlik duvarı portlarını açın bölümüne geçin.

  3. vsftpd'yi yükleyin. Bu örnekte CentOS 7 kullanılmaktadır. Diğer dağıtımlar için bkz. ECS örneğinde FTP sitesi oluşturma.

    sudo yum install -y vsftpd

    Başarılı bir ileti kurulumun tamamlandığını onaylar.

    Installed:
      vsftpd.x86_64 0:3.0.2-28.el7
    Complete!
  4. vsftpd'nin önyüklemede otomatik olarak başlamasını etkinleştirin:

    sudo systemctl enable vsftpd.service
  5. vsftpd'yi başlatın:

    sudo systemctl start vsftpd.service
    Not

    Hizmet Job for vsftpd.service failed because the control process exited with error code hatasıyla başlatılamazsa 21 numaralı port zaten kullanılıyor olabilir. İşlemi tanımlamak için lsof -i:21 komutunu çalıştırın, ardından vsftpd'yi yeniden başlatmadan önce durdurmak için kill -9 <PID> komutunu çalıştırın.

  6. vsftpd'nin çalıştığını doğrulayın:

    sudo netstat -antup | grep ftp

    FTP hizmet portu çıktıda görünüyorsa vsftpd çalışıyor demektir.

    [root@iZbp166dsac66txo49xxx ~]# netstat -antup | grep ftp
    tcp6       0      0 :::21                   :::*                    LISTEN      53730/vsftpd
  7. Adım 2: Erişim modunu yapılandırın

    Aşağıdaki modlardan birini seçin. Daha iyi güvenlik için yerel kullanıcı modu önerilir.

    Yerel kullanıcı modu (önerilen)

    1. FTP erişimi için özel bir Linux kullanıcısı oluşturun. Bu örnekte ftptest kullanılmıştır.

      sudo adduser ftptest
    2. Kullanıcı için bir parola belirleyin:

      sudo passwd ftptest

      Parolayı girmek ve onaylamak için istemleri takip edin.

    3. FTP dizinini oluşturun:

      sudo mkdir /var/ftp/test
    4. Dizinin sahipliğini ftptest kullanıcısına atayın:

      sudo chown -R ftptest:ftptest /var/ftp/test
    5. Düzenlemeden önce vsftpd yapılandırma dosyasının yedeğini alın:

      sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bak
    6. Yapılandırma dosyasını düzenlemek için açın:

      Not

      vsftpd'yi apt install vsftpd ile yüklediyseniz yapılandırma dosyası bunun yerine /etc/vsftpd.conf konumundadır.

      sudo vim /etc/vsftpd/vsftpd.conf

      Düzenleme moduna geçmek için i tuşuna basın.

    7. Aşağıdaki parametreleri güncelleyin. Bu satırların hiçbirinin # ile yorum satırı haline getirilmediğinden emin olun ve sondaki boşluklardan kaçının; fazladan boşluklar vsftpd'nin yeniden başlatıldığında hata vermesine neden olur. /etc/vsftpd/vsftpd.conf

      # Disable anonymous login
      anonymous_enable=NO
      # Allow local users to log in
      local_enable=YES
      # Listen on IPv4
      listen=YES

      IPv6 dinleyicisini devre dışı bırakmak için satırın başına # ekleyerek yorum satırı yapın:

      #listen_ipv6=YES
    8. Dosyanın sonuna aşağıdaki parametreleri ekleyin. 39.105.xx.xx değerini sunucunuzun genel IP adresiyle değiştirin. /etc/vsftpd/vsftpd.conf

      # Set the home directory for local users after login
      local_root=/var/ftp/test
      # Restrict users to their home directory
      chroot_local_user=YES
      # Enable a list of users exempt from the chroot restriction
      chroot_list_enable=YES
      # Path to the exemption list file
      chroot_list_file=/etc/vsftpd/chroot_list
      # Enable passive mode
      pasv_enable=YES
      allow_writeable_chroot=YES
      # Public IP address of the server
      pasv_address=39.105.xx.xx
      # Passive mode port range (high-numbered ports reduce exposure)
      pasv_min_port=50000
      pasv_max_port=50010

      Kaydetmek ve kapatmak için Esc tuşuna basın, ardından :wq yazıp Enter tuşuna basın.

    9. chroot muafiyet listesi dosyasını oluşturun. Burada listelenen kullanıcılar ana dizinle sınırlı değildir. Muafiyet gerekmese bile dosya gereklidir.

      sudo vim /etc/vsftpd/chroot_list

      Düzenleme moduna geçmek için i tuşuna basın. Gerekirse muaf tutulacak kullanıcı adlarını her satıra bir tane olacak şekilde ekleyin (muafiyet gerekmiyorsa dosyayı boş bırakın). Kaydetmek ve kapatmak için Esc tuşuna basın, ardından :wq yazıp Enter tuşuna basın.

    10. Sistem güvenlik duvarını durdurun. vsftpd, 3. Adımda yapılandırılan Simple Application Server güvenlik duvarı aracılığıyla port erişimini yönetir.

       sudo systemctl stop firewalld
    11. SSH yapılandırmasında parola kimlik doğrulamasını etkinleştirin:

       sudo vi /etc/ssh/sshd_config

      Dosyanın sonundaki PasswordAuthentication satırını bulun ve değerini yes olarak ayarlayın. Kaydetmek ve kapatmak için Esc tuşuna basın, ardından :wq! yazıp Enter tuşuna basın.

      # Accept locale-related environment variables
      AcceptEnv LANG LC_CTYPE LC_NUMERIC LC_TIME LC_COLLATE LC_MONETARY LC_MESSAGES
      AcceptEnv LC_PAPER LC_NAME LC_ADDRESS LC_TELEPHONE LC_MEASUREMENT
      AcceptEnv LC_IDENTIFICATION LC_ALL LANGUAGE
      AcceptEnv XMODIFIERS
      # Override the default of no subsystems
      Subsystem sftp /usr/libexec/openssh/sftp-server
      # Example of overriding settings on a per-user basis
      #Match User anoncvs
      # X11Forwarding no
      # AllowTcpForwarding no
      # PermitTTY no
      # ForceCommand cvs server
      UseDNS no
      AddressFamily inet
      SyslogFacility AUTHPRIV
      PermitRootLogin yes
      PasswordAuthentication yes
    12. Tüm değişikliklerin uygulanması için vsftpd'yi yeniden başlatın:

       sudo systemctl restart vsftpd.service
    13. Anonim kullanıcı modu

      Önemli

      Anonim mod, herkesin parola olmadan bağlanmasına olanak tanır. Bunu yalnızca üretim dışı ortamlardaki genel dosya aktarımları için kullanın.

      1. vsftpd yapılandırma dosyasını açın:

        Not

        vsftpd'yi apt install vsftpd ile yüklediyseniz yapılandırma dosyası bunun yerine /etc/vsftpd.conf konumundadır.

        sudo vim /etc/vsftpd/vsftpd.conf

        Düzenleme moduna geçmek için i tuşuna basın.

      2. Aşağıdaki parametreleri ayarlayın. Varsayılan değerler Linux dağıtımına göre değişebilir; düzenlemeden sonra her iki değerin de YES olduğunu doğrulayın. Bu satırların hiçbirinin # ile yorum satırı haline getirilmediğinden emin olun ve sondaki boşluklardan kaçının. /etc/vsftpd/vsftpd.conf

        anonymous_enable=YES
        anon_upload_enable=YES
        listen=YES
        listen_ipv6=NO
      3. Dosyanın sonuna aşağıdaki parametreleri ekleyin. 39.105.xx.xx değerini sunucunuzun genel IP adresiyle değiştirin. /etc/vsftpd/vsftpd.conf

        # Enable passive mode
        pasv_enable=YES
        # Passive mode port range
        pasv_min_port=50000
        pasv_max_port=50010
        # Public IP address of the server
        pasv_address=39.105.xx.xx

        Kaydetmek ve kapatmak için Esc tuşuna basın, ardından :wq yazıp Enter tuşuna basın.

      4. Varsayılan FTP dizinine (/var/ftp/pub) yazma izni verin:

        sudo chmod o+w /var/ftp/pub/
      5. vsftpd'yi yeniden başlatın:

        sudo systemctl restart vsftpd.service

      Adım 3: Güvenlik duvarı portlarını açın

      FTP trafiğine izin vermek için Simple Application Server güvenlik duvarında gelen kurallar ekleyin. Pasif mod, 21 numaralı portu ve pasif port aralığını gerektirir. Talimatlar için bkz. Güvenlik duvarını yönetme.

      Uygulama türü Protokol Port aralığı
      FTP TCP 21
      Özel TCP pasv_min_port–pasv_max_port (örnek: 50000/50010)

      Güvenlik duvarı kuralları artık yapılandırılmıştır.

      Adım 4: FTP bağlantısını doğrulayın

      FTP sunucusuna erişilebildiğini onaylamak için FileZilla'yı kullanın.

      Not

      Bu örnekte FileZilla 3.64.0 kullanılmıştır. Arayüz diğer sürümlerde farklılık gösterebilir.

      1. FileZilla'yı açın.

      2. File > Site Manager yolunu izleyin.

      3. Site Manager iletişim kutusunun sol alt köşesindeki New site (N) seçeneğine tıklayın.

      4. Yeni site için bir ad girin ve bağlantıyı yapılandırın:

        filezilla

        Parametre Değer
        Name Özel bir site adı. Örnek: test-01.
        Protocol FTP
        Host Sunucunun genel IP adresi (örnek: 121.43.XX.XX)
        Port 21
        Logon type Anonymous (anonim mod için) veya Normal (yerel kullanıcı modu için)

        Yerel kullanıcı modu için Logon type seçeneğini Normal olarak ayarlayın ve FTP kullanıcı adı ile parolasını girin.

      5. Connect seçeneğine tıklayın.

      Bağlandıktan sonra dosya yüklemek, indirmek veya silmek için FileZilla'yı kullanın. Arayüz dört bölüme ayrılmıştır:

      filezilla

      Bölüm Açıklama
      ① Bağlantı durumu, komutlar ve görev sonuçları
      ② Yerel makine: dizin ve dosya listesi
      ③ Uzak sunucu: FTP dizin listesi. Anonim modda varsayılan dizin /pub şeklindedir.
      ④ Aktarım kuyruğu ve görev günlükleri

      vsftpd yapılandırma referansı

      /etc/vsftpd dizini üç temel dosya içerir:

      • /etc/vsftpd/vsftpd.conf: ana yapılandırma dosyası

      • /etc/vsftpd/ftpusers: bu dosyadaki kullanıcılara FTP erişimi reddedilir (engel listesi)

      • /etc/vsftpd/user_list: bu dosyadaki kullanıcılara FTP erişimine izin verilir (izin listesi)

      Oturum açma kontrol parametreleri

      Parametre Açıklama
      anonymous_enable=YES Anonim kullanıcıları kabul eder
      no_anon_password=YES Anonim kullanıcılar için parola istemini atlar
      anon_root= Anonim kullanıcılar için ana dizin
      local_enable=YES Yerel kullanıcıları kabul eder
      local_root= Yerel kullanıcılar için ana dizin

      İzin parametreleri

      Parametre Açıklama
      write_enable=YES Tüm kullanıcıların dosya yüklemesine izin verir
      local_umask=022 Yerel kullanıcı yüklemeleri için dosya izin maskesi
      file_open_mode=0666 Yüklenen dosya izinlerine umask uygular
      anon_upload_enable=NO Anonim kullanıcıların dosya yüklemesine izin verir
      anon_mkdir_write_enable=NO Anonim kullanıcıların dizin oluşturmasına izin verir
      anon_other_write_enable=NO Anonim kullanıcıların dosyaları değiştirmesine veya silmesine izin verir
      chown_username=lightwiter Anonim kullanıcılar tarafından yüklenen dosyalara atanan sahip