Bir web sunucusu (VPS veya VDS) yönetirken, site dosyalarını yönetmek, yedekleri aktarmak veya çoklu kullanıcıların sunucuya güvenli bir şekilde dosya yüklemesini sağlamak için en temel yöntemlerden biri FTP (File Transfer Protocol) servisi kurmaktır. Linux dağıtımları arasında en güvenli, kararlı ve yaygın kullanılan FTP sunucu yazılımı vsftpd (Very Secure FTP Daemon) uygulamasıdır.
Verisunucu.net olarak hazırladığımız bu kapsamlı rehberde; Linux sunucunuza adım adım vsftpd ile FTP sunucusunun nasıl kurulacağını, güvenlik ayarlarının nasıl yapılandırılacağını ve istemci programlarıyla nasıl bağlanılacağını tüm detaylarıyla inceliyoruz.

1. Adım: vsftpd Kurulumu
Sunucunuza SSH üzerinden root veya sudo yetkili bir kullanıcıyla bağlandıktan sonra, işletim sisteminizin paket yöneticisini kullanarak vsftpd kurulumunu gerçekleştirebilirsiniz.
-
Ubuntu / Debian Sistemler İçin:
Bash
sudo apt update sudo apt install vsftpd -y -
AlmaLinux / CentOS / RHEL Sistemler İçin:
Bash
sudo dnf install vsftpd -y
Kurulum tamamlandıktan sonra servisi başlatmak ve sunucu her açıldığında otomatik olarak çalışmasını sağlamak için şu komutları çalıştırın:
2. Adım: FTP Sunucu Yapılandırma Dosyasını Düzenleme
Güvenli ve kararlı bir FTP sunucusu için konfigürasyon dosyasını (vsftpd.conf) düzenlemeniz gerekir. Dosyayı bir metin düzenleyiciyle açın:
Bash
sudo nano /etc/vsftpd.conf
Dosya içerisinde dikkat etmeniz ve düzenlemeniz gereken kritik ayarlar şunlardır:
-
Anonim (Misafir) Girişleri Kapatın: Güvenlik açısından kimlik doğrulaması yapmayan kullanıcıların sisteme erişmesini mutlaka engellemelisiniz.
Plaintext
anonymous_enable=NO -
Yerel Kullanıcı Girişlerine İzin Verin: Sunucunuzdaki Linux kullanıcılarının FTP üzerinden bağlanabilmesi için bu satır aktif olmalıdır:
Plaintext
local_enable=YES -
Dosya Yazma İzinlerini Aktif Edin: Kullanıcıların sunucuya dosya yükleyebilmesi veya dosya silebilmesi için yazma iznini açın:
Plaintext
write_enable=YES -
Kullanıcıları Kendi Dizinlerine Hapsetme (Chroot): Kullanıcıların sunucunun kök dizinlerinde (root) gezinmesini engellemek ve sadece kendi ana dizinlerinde işlem yapmasını sağlamak için şu satırın başındaki yorum işaretini kaldırın:
Plaintext
chroot_local_user=YES allow_writeable_chroot=YES
Değişiklikleri kaydetmek için CTRL + O ve ENTER, çıkış yapmak için CTRL + X tuşlarını kullanın. Ardından servisi yeniden başlatın:
Bash
sudo systemctl restart vsftpd
3. Adım: Güvenlik Duvarı (Firewall) Ayarları
FTP protokolü veri aktarımı için varsayılan olarak 20 ve 21 numaralı portları kullanır. Ayrıca pasif mod (Passive Mode) için ek port aralığına ihtiyaç duyar. Güvenlik duvarınızda gerekli izinleri açmalısınız:
-
UFW (Ubuntu / Debian) İçin:
Bash
sudo ufw allow 20/tcp sudo ufw allow 21/tcp sudo ufw allow 40000:50000/tcp sudo ufw reload -
Firewalld (AlmaLinux / CentOS) İçin:
Bash
sudo firewall-cmd --permanent --add-service=ftp sudo firewall-cmd --reload
4. Adım: FTP Kullanıcısı Oluşturma ve Yetkilendirme
Sunucunuza yeni bir FTP kullanıcısı tanımlamak ve sadece belirli bir web dizinine erişmesini sağlamak için şu adımları izleyin:
-
Yeni bir kullanıcı oluşturun (Örneğin:
ftpuser):Bash
sudo adduser ftpuser -
Kullanıcı için güçlü bir şifre belirleyin.
-
Kullanıcının erişeceği dizini ayarlayın ve sahiplik atayın:
Bash
sudo chown nobody:nogroup /home/ftpuser sudo chmod a-w /home/ftpuser sudo mkdir /home/ftpuser/www sudo chown ftpuser:ftpuser /home/ftpuser/www

Sıkça Sorulan Sorular
FTP yerine neden SFTP tercih edilmelidir? Klasik FTP protokolü verileri (şifreler dahil) şifrelemeden düz metin olarak gönderdiği için ağ üzerinde dinlenebilir. SSH tabanlı SFTP ise tüm trafiği şifrelediği için çok daha güvenlidir ve ek bir FTP servisi kurma gereksinimi duymaz.
FileZilla ile bağlanırken “500 OOPS: chroot” hatası alıyorum, neden? Modern vsftpd sürümlerinde kullanıcıların kendi ev dizinlerinde yazma iznine sahip olması güvenlik açısından kısıtlanmıştır. vsftpd.conf dosyasına allow_writeable_chroot=YES satırını ekleyerek bu sorunu çözebilirsiniz.
Pasif mod (Passive Mode) neden gereklidir? İstemci tarafında aktif bir güvenlik duvarı veya NAT bulunduğunda veri aktarımının sağlıklı gerçekleşebilmesi için pasif mod port aralığının sunucuda ve Firewall’da açık olması şarttır.
Yüksek Performanslı ve Güvenli Sunucu Altyapısı İçin: Verisunucu.net
Projelerinizde dosya yönetimi, yedekleme ve veri aktarım işlemlerini kesintisiz gerçekleştirebilmek için tam yetkili ve güçlü bir altyapıya ihtiyacınız vardır. %100 NVMe SSD disk mimarisi, yüksek hızlı network hatları ve tam root erişim özgürlüğü sunan Vds satın al paketlerimizle FTP sunucunuzu dakikalar içinde kurabilir, performans sınırlarını ortadan kaldırabilirsiniz.
Daha esnek, ölçeklenebilir ve bütçe dostu alternatifler arıyorsanız, Vps satın al çözümlerimizi inceleyebilir; Verisunucu.net kalitesiyle kesintisiz bir sunucu deneyimi yaşamaya hemen başlayabilirsiniz!
