{"id":35536,"date":"2025-11-30T22:40:47","date_gmt":"2025-11-30T19:40:47","guid":{"rendered":"https:\/\/fatihsoysal.com\/blog\/?p=35536"},"modified":"2025-11-30T22:40:47","modified_gmt":"2025-11-30T19:40:47","slug":"ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi","status":"publish","type":"post","link":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/","title":{"rendered":"Ubuntu 16.04 \u00dczerinde vsftpd&#8217;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi"},"content":{"rendered":"<p><body><\/p>\n<h2>Ubuntu 16.04 \u00dczerinde vsftpd&#8217;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi<\/h2>\n<h3>Giri\u015f<\/h3>\n<p>Dosya Transfer Protokol\u00fc (FTP), sunucular ve istemciler aras\u0131nda dosya al\u0131\u015fveri\u015fi yapmak i\u00e7in kullan\u0131lan standart bir a\u011f protokol\u00fcd\u00fcr. Web sitelerinin dosyalar\u0131n\u0131 sunucuya y\u00fcklemekten, b\u00fcy\u00fck dosyalar\u0131 payla\u015fmaya kadar pek \u00e7ok senaryoda yayg\u0131n olarak kullan\u0131l\u0131r. Ancak, FTP&#8217;nin kendisi g\u00fcvenli bir protokol de\u011fildir; kimlik do\u011frulama bilgilerini ve veri aktar\u0131mlar\u0131n\u0131 \u015fifrelemez. Bu nedenle, hassas veriler i\u00e7in FTPS (FTP Secure) veya SFTP (SSH File Transfer Protocol) gibi daha g\u00fcvenli alternatifler \u00f6nerilir. Bununla birlikte, belirli kullan\u0131m durumlar\u0131 veya eski sistemlerle uyumluluk gerektiren durumlar i\u00e7in standart FTP hala tercih edilebilir.<\/p>\n<p>vsftpd (very secure FTP daemon), Linux sistemlerinde en pop\u00fcler ve g\u00fcvenli FTP sunucular\u0131ndan biridir. Ad\u0131ndan da anla\u015f\u0131laca\u011f\u0131 gibi, g\u00fcvenlik odakl\u0131 tasar\u0131m\u0131, k\u00fc\u00e7\u00fck boyutu ve y\u00fcksek performans\u0131 ile \u00f6ne \u00e7\u0131kar. Bu makalede, Ubuntu 16.04 i\u015fletim sistemi \u00fczerinde vsftpd&#8217;yi belirli bir yerel kullan\u0131c\u0131 i\u00e7in nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m a\u00e7\u0131klayaca\u011f\u0131z. Odak noktam\u0131z, kullan\u0131c\u0131n\u0131n kendi ana diziniyle s\u0131n\u0131rl\u0131 (chroot edilmi\u015f) bir ortamda g\u00fcvenli bir \u015fekilde dosya transferi yapabilmesini sa\u011flamak olacakt\u0131r. Ayr\u0131ca pasif mod ayarlar\u0131, g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131 ve temel g\u00fcvenlik ipu\u00e7lar\u0131 da bu rehberin bir par\u00e7as\u0131d\u0131r.<\/p>\n<p>Bu rehber, sistem y\u00f6neticileri, geli\u015ftiriciler ve Ubuntu sunucular\u0131nda g\u00fcvenli bir FTP hizmeti kurmak isteyen herkes i\u00e7in tasarlanm\u0131\u015ft\u0131r. Temel Linux komut bilgisi ve SSH \u00fczerinden sunucuya eri\u015fim yetene\u011fi bu rehberden en iyi \u015fekilde yararlanman\u0131z i\u00e7in \u00f6n ko\u015fuldur.<\/p>\n<h3>\u00d6n Gereksinimler<\/h3>\n<p>Bu rehbere ba\u015flamadan \u00f6nce a\u015fa\u011f\u0131daki \u00f6n gereksinimlere sahip oldu\u011funuzdan emin olun:<br \/>\n*   <strong>Ubuntu 16.04 Sunucusu:<\/strong> Kurulum ve yap\u0131land\u0131rma i\u015flemleri bu i\u015fletim sistemi s\u00fcr\u00fcm\u00fc \u00fczerinde test edilmi\u015ftir.<br \/>\n*   <strong>SSH Eri\u015fimi:<\/strong> Sunucunuza SSH \u00fczerinden eri\u015fim sa\u011flayabiliyor olman\u0131z gerekmektedir.<br \/>\n*   <strong>Sudo Yetkileri:<\/strong> Kurulum ve yap\u0131land\u0131rma ad\u0131mlar\u0131 i\u00e7in <code>sudo<\/code> yetkilerine sahip bir kullan\u0131c\u0131 veya <code>root<\/code> kullan\u0131c\u0131s\u0131 olman\u0131z gerekmektedir.<br \/>\n*   <strong>Temel Linux Komut Bilgisi:<\/strong> <code>apt<\/code>, <code>cd<\/code>, <code>ls<\/code>, <code>mkdir<\/code>, <code>chown<\/code>, <code>chmod<\/code>, <code>nano<\/code> veya <code>vi<\/code> gibi temel komutlara a\u015fina olman\u0131z beklenir.<\/p>\n<h3>vsftpd Kurulumu<\/h3>\n<p>\u0130lk ad\u0131m olarak, vsftpd paketini Ubuntu sunucunuza kurman\u0131z gerekmektedir. Kuruluma ba\u015flamadan \u00f6nce sistem paket listelerini g\u00fcncellemeyi ve mevcut paketleri y\u00fckseltmeyi unutmay\u0131n.<\/p>\n<h4>Sistem Paketlerini G\u00fcncelleme<\/h4>\n<p>Terminalinizi a\u00e7\u0131n ve a\u015fa\u011f\u0131daki komutlar\u0131 \u00e7al\u0131\u015ft\u0131rarak sisteminizi g\u00fcncelleyin:<\/p>\n<pre><code class=\"language-bash\">sudo apt update\nsudo apt upgrade -y<\/code><\/pre>\n<p>Bu komutlar, sunucunuzdaki paket bilgilerini g\u00fcncelleyecek ve y\u00fckl\u00fc paketlerin en son s\u00fcr\u00fcmlerine y\u00fckseltecektir.<\/p>\n<h4>vsftpd Paketini Kurma<\/h4>\n<p>\u015eimdi vsftpd paketini y\u00fckleyebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install vsftpd -y<\/code><\/pre>\n<p>Kurulum tamamland\u0131ktan sonra, vsftpd servisi otomatik olarak ba\u015flayacakt\u0131r. Servisin durumunu kontrol etmek i\u00e7in a\u015fa\u011f\u0131daki komutu kullanabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">systemctl status vsftpd<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da <code>active (running)<\/code> ibaresini g\u00f6rmelisiniz. E\u011fer servis \u00e7al\u0131\u015fm\u0131yorsa, a\u015fa\u011f\u0131daki komutla ba\u015flatabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl start vsftpd<\/code><\/pre>\n<p>vsftpd servisinin sunucu her yeniden ba\u015flat\u0131ld\u0131\u011f\u0131nda otomatik olarak ba\u015flamas\u0131n\u0131 sa\u011flamak i\u00e7in:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl enable vsftpd<\/code><\/pre>\n<h3>vsftpd Temel Yap\u0131land\u0131rmas\u0131<\/h3>\n<p>vsftpd&#8217;nin t\u00fcm yap\u0131land\u0131rma ayarlar\u0131 <code>\/etc\/vsftpd.conf<\/code> dosyas\u0131nda bulunur. Yap\u0131land\u0131rma dosyas\u0131 \u00fczerinde de\u011fi\u015fiklik yapmadan \u00f6nce, olas\u0131 bir sorunda geri d\u00f6nebilmek i\u00e7in orijinal dosyan\u0131n bir yede\u011fini alman\u0131z \u015fiddetle tavsiye edilir.<\/p>\n<h4>Yap\u0131land\u0131rma Dosyas\u0131n\u0131n Yedeklenmesi<\/h4>\n<pre><code class=\"language-bash\">sudo cp \/etc\/vsftpd.conf \/etc\/vsftpd.conf.bak<\/code><\/pre>\n<h4>Yap\u0131land\u0131rma Dosyas\u0131n\u0131n D\u00fczenlenmesi<\/h4>\n<p>\u015eimdi yap\u0131land\u0131rma dosyas\u0131n\u0131 bir metin d\u00fczenleyici ile a\u00e7\u0131n. Bu rehberde <code>nano<\/code> kullanaca\u011f\u0131z:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/vsftpd.conf<\/code><\/pre>\n<p>A\u015fa\u011f\u0131daki temel ayarlar\u0131 bulun ve gerekti\u011fi gibi d\u00fczenleyin veya ekleyin:<\/p>\n<p>1.  <strong>Anonim Eri\u015fimi Kapatma:<\/strong> G\u00fcvenlik nedeniyle anonim FTP eri\u015fimini kapatmak \u00f6nemlidir.<\/p>\n<pre><code class=\"language-\">anonymous_enable=NO<\/code><\/pre>\n<p>2.  <strong>Yerel Kullan\u0131c\u0131 Eri\u015fimi A\u00e7ma:<\/strong> Sisteminizdeki yerel kullan\u0131c\u0131lar\u0131n FTP \u00fczerinden giri\u015f yapmas\u0131na izin vermek i\u00e7in bu se\u00e7ene\u011fi etkinle\u015ftirin.<\/p>\n<pre><code class=\"language-\">local_enable=YES<\/code><\/pre>\n<p>3.  <strong>Yazma \u0130zni Verme:<\/strong> FTP kullan\u0131c\u0131lar\u0131n\u0131n dosya y\u00fckleyebilmesi veya de\u011fi\u015ftirebilmesi i\u00e7in yazma eri\u015fimine izin vermeniz gerekir.<\/p>\n<pre><code class=\"language-\">write_enable=YES<\/code><\/pre>\n<p>4.  <strong>Chroot Jail Yap\u0131land\u0131rmas\u0131 (Kullan\u0131c\u0131lar\u0131 Kendi Dizinlerine Hapsetme):<\/strong><br \/>\n    Bu, FTP kullan\u0131c\u0131lar\u0131n\u0131n kendi ana dizinlerinin d\u0131\u015f\u0131na \u00e7\u0131kmas\u0131n\u0131 engelleyen kritik bir g\u00fcvenlik \u00f6nlemidir.<\/p>\n<pre><code class=\"language-\">chroot_local_user=YES<\/code><\/pre>\n<p>    <strong>\u00d6nemli Not:<\/strong> vsftpd&#8217;nin 2.3.5 s\u00fcr\u00fcm\u00fcnden itibaren, g\u00fcvenlik nedeniyle chroot edilmi\u015f dizinin kullan\u0131c\u0131n\u0131n yazma iznine sahip olmamas\u0131 gerekir. E\u011fer chroot edilen dizin kullan\u0131c\u0131n\u0131n yazma iznine sahipse, vsftpd ba\u011flant\u0131y\u0131 reddedecektir. Ubuntu 16.04&#8217;teki vsftpd s\u00fcr\u00fcm\u00fc (genellikle 3.0.3) bu g\u00fcvenlik kontrol\u00fcn\u00fc i\u00e7erir. Bu durumu a\u015fmak i\u00e7in iki y\u00f6ntem vard\u0131r:<br \/>\n    *   <strong>Daha Az G\u00fcvenli Y\u00f6ntem:<\/strong> <code>allow_writeable_chroot=YES<\/code> sat\u0131r\u0131n\u0131 ekleyebilirsiniz. Bu, vsftpd&#8217;nin g\u00fcvenlik kontrol\u00fcn\u00fc atlamas\u0131na neden olur, ancak chroot ka\u00e7\u0131\u015f sald\u0131r\u0131lar\u0131na kar\u015f\u0131 potansiyel bir zafiyet yaratabilir. Genellikle \u00f6nerilmez.<br \/>\n    <em>   <strong>\u00d6nerilen G\u00fcvenli Y\u00f6ntem:<\/strong> Chroot edilen dizini kullan\u0131c\u0131n\u0131n yazma iznine sahip olmayacak \u015fekilde ayarlay\u0131n ve kullan\u0131c\u0131n\u0131n yazma yapabilece\u011fi ayr\u0131 bir alt dizin olu\u015fturun. Bu rehberde bu g\u00fcvenli y\u00f6ntemi uygulayaca\u011f\u0131z. Bu y\u00fczden <code>allow_writeable_chroot=YES<\/code> sat\u0131r\u0131n\u0131 <\/em>eklemeyin*.<\/p>\n<p>5.  <strong>Kullan\u0131c\u0131n\u0131n Ana Dizini (local_root):<\/strong><br \/>\n    Kullan\u0131c\u0131n\u0131n FTP ba\u011flant\u0131s\u0131 kurdu\u011funda do\u011frudan hangi dizine y\u00f6nlendirilece\u011fini belirtir. G\u00fcvenli chroot yap\u0131land\u0131rmas\u0131 i\u00e7in, kullan\u0131c\u0131n\u0131n ana dizini i\u00e7inde olu\u015fturdu\u011fumuz, kullan\u0131c\u0131n\u0131n yazma iznine sahip olaca\u011f\u0131 alt dizini belirtmeliyiz.<\/p>\n<pre><code class=\"language-\">local_root=\/home\/$USER\/ftp<\/code><\/pre>\n<p>    Burada <code>$USER<\/code> de\u011fi\u015fkeni, giri\u015f yapan kullan\u0131c\u0131n\u0131n ad\u0131n\u0131 otomatik olarak alacakt\u0131r. Bu, her kullan\u0131c\u0131 i\u00e7in kendi \u00f6zel <code>ftp<\/code> dizinine y\u00f6nlendirme sa\u011flar.<\/p>\n<p>6.  <strong>Pasif Mod Ayarlar\u0131:<\/strong><br \/>\n    Pasif mod, g\u00fcvenlik duvarlar\u0131 ve NAT (A\u011f Adresi \u00c7evirisi) arkas\u0131ndaki istemciler i\u00e7in \u00f6nemlidir. FTP&#8217;nin varsay\u0131lan (aktif) modu genellikle g\u00fcvenlik duvarlar\u0131 taraf\u0131ndan engellenir.<\/p>\n<pre><code class=\"language-\">pasv_enable=YES\n    pasv_min_port=40000\n    pasv_max_port=40005<\/code><\/pre>\n<p>    <code>pasv_min_port<\/code> ve <code>pasv_max_port<\/code> ile pasif mod ba\u011flant\u0131lar\u0131 i\u00e7in kullan\u0131lacak port aral\u0131\u011f\u0131n\u0131 belirtiyoruz. Bu aral\u0131kta 5 adet port a\u00e7t\u0131k (40000, 40001, 40002, 40003, 40004, 40005). Bu portlar\u0131 g\u00fcvenlik duvar\u0131nda da a\u00e7man\u0131z gerekecektir. Daha geni\u015f bir aral\u0131k belirleyebilirsiniz, ancak \u00e7ok geni\u015f bir aral\u0131k g\u00fcvenlik a\u00e7\u0131s\u0131ndan istenmeyebilir.<\/p>\n<p>    E\u011fer sunucunuz bir NAT arkas\u0131ndaysa veya birden fazla a\u011f aray\u00fcz\u00fcne sahipse, sunucunuzun d\u0131\u015far\u0131dan eri\u015filebilir genel IP adresini belirtmeniz gerekebilir:<\/p>\n<pre><code class=\"language-\">pasv_address=YOUR_SERVER_PUBLIC_IP_ADDRESS<\/code><\/pre>\n<p>    <code>YOUR_SERVER_PUBLIC_IP_ADDRESS<\/code> yerine sunucunuzun ger\u00e7ek genel IP adresini yaz\u0131n. E\u011fer sunucunuz do\u011frudan internete ba\u011fl\u0131ysa ve tek bir IP adresi varsa, bu sat\u0131ra genellikle gerek kalmayabilir, ancak eklemek sorunu \u00e7\u00f6zebilir.<\/p>\n<p>7.  <strong>Di\u011fer G\u00fcvenlik \u0130pu\u00e7lar\u0131 (\u0130ste\u011fe Ba\u011fl\u0131):<\/strong><br \/>\n    *   <strong>Kullan\u0131c\u0131 Listesi:<\/strong> Sadece belirli kullan\u0131c\u0131lar\u0131n FTP&#8217;ye eri\u015fmesine izin vermek veya belirli kullan\u0131c\u0131lar\u0131 engellemek i\u00e7in <code>userlist<\/code> \u00f6zelli\u011fini kullanabilirsiniz.<\/p>\n<pre><code class=\"language-\">userlist_enable=YES\n        userlist_file=\/etc\/vsftpd.userlist\n        userlist_deny=YES<\/code><\/pre>\n<p>        Bu ayarlar ile <code>\/etc\/vsftpd.userlist<\/code> dosyas\u0131nda ad\u0131 ge\u00e7en kullan\u0131c\u0131lar <em>hari\u00e7<\/em> herkesin FTP&#8217;ye eri\u015fimi engellenir. E\u011fer sadece listedeki kullan\u0131c\u0131lar\u0131n eri\u015fmesini istiyorsan\u0131z, <code>userlist_deny=NO<\/code> yapmal\u0131s\u0131n\u0131z.<\/p>\n<p>    *   <strong>Loglama:<\/strong> FTP transferlerini kaydetmek i\u00e7in loglamay\u0131 etkinle\u015ftirebilirsiniz.<\/p>\n<pre><code class=\"language-\">xferlog_enable=YES\n        xferlog_file=\/var\/log\/vsftpd.log\n        xferlog_std_format=YES<\/code><\/pre>\n<p>Yap\u0131land\u0131rma dosyas\u0131n\u0131 kaydetmek i\u00e7in <code>Ctrl+O<\/code>, ard\u0131ndan <code>Enter<\/code> tu\u015funa bas\u0131n ve <code>Ctrl+X<\/code> ile \u00e7\u0131k\u0131n.<\/p>\n<h3>Kullan\u0131c\u0131 Olu\u015fturma ve Dizin Ayarlar\u0131<\/h3>\n<p>\u015eimdi FTP i\u00e7in kullanaca\u011f\u0131m\u0131z bir kullan\u0131c\u0131 olu\u015ftural\u0131m ve bu kullan\u0131c\u0131n\u0131n dizin yap\u0131s\u0131n\u0131 g\u00fcvenli bir \u015fekilde ayarlayal\u0131m.<\/p>\n<h4>Yeni Bir FTP Kullan\u0131c\u0131s\u0131 Olu\u015fturma<\/h4>\n<p>\u00d6rnek olarak <code>ftpuser<\/code> ad\u0131nda bir kullan\u0131c\u0131 olu\u015ftural\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo adduser ftpuser<\/code><\/pre>\n<p>Komut sizden yeni kullan\u0131c\u0131 i\u00e7in bir \u015fifre belirlemenizi ve baz\u0131 iste\u011fe ba\u011fl\u0131 bilgiler girmenizi isteyecektir. \u015eifreyi g\u00fc\u00e7l\u00fc bir \u015fekilde belirledi\u011finizden emin olun.<\/p>\n<h4>Kullan\u0131c\u0131n\u0131n Shell Eri\u015fimini Devre D\u0131\u015f\u0131 B\u0131rakma<\/h4>\n<p>G\u00fcvenlik i\u00e7in, FTP kullan\u0131c\u0131lar\u0131n\u0131n sunucuda normal bir shell (kabuk) eri\u015fimine sahip olmamas\u0131 gerekir. Bu, kullan\u0131c\u0131n\u0131n FTP d\u0131\u015f\u0131nda komut \u00e7al\u0131\u015ft\u0131rmas\u0131n\u0131 engeller.<br \/>\n\u00d6ncelikle, sisteminizde <code>nologin<\/code> veya <code>false<\/code> shell&#8217;lerinin tan\u0131ml\u0131 olup olmad\u0131\u011f\u0131n\u0131 kontrol edin:<\/p>\n<pre><code class=\"language-bash\">cat \/etc\/shells<\/code><\/pre>\n<p>Genellikle <code>\/bin\/false<\/code> veya <code>\/usr\/sbin\/nologin<\/code> listede bulunur. E\u011fer yoksa, <code>sudo nano \/etc\/shells<\/code> ile bu sat\u0131rlardan birini ekleyebilirsiniz.<\/p>\n<p>\u015eimdi <code>ftpuser<\/code> kullan\u0131c\u0131s\u0131n\u0131n shell&#8217;ini <code>\/bin\/false<\/code> olarak ayarlayal\u0131m:<\/p>\n<pre><code class=\"language-bash\">sudo usermod -s \/bin\/false ftpuser<\/code><\/pre>\n<h4>G\u00fcvenli Dizin Yap\u0131s\u0131n\u0131n Olu\u015fturulmas\u0131<\/h4>\n<p>Yukar\u0131da bahsetti\u011fimiz gibi, vsftpd&#8217;nin chroot g\u00fcvenlik kural\u0131 nedeniyle, kullan\u0131c\u0131n\u0131n ana dizini do\u011frudan yaz\u0131labilir olmamal\u0131d\u0131r. Bu y\u00fczden, kullan\u0131c\u0131n\u0131n ana dizini i\u00e7inde ayr\u0131 bir dizin olu\u015fturaca\u011f\u0131z ve FTP ba\u011flant\u0131s\u0131nda bu dizini kullan\u0131c\u0131n\u0131n &#8220;k\u00f6kl\u00fc&#8221; dizini olarak g\u00f6sterece\u011fiz.<\/p>\n<p>1.  <strong>Kullan\u0131c\u0131n\u0131n Ana Dizini \u0130\u00e7inde FTP Dizinini Olu\u015fturma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo mkdir \/home\/ftpuser\/ftp<\/code><\/pre>\n<p>2.  <strong>Ana Dizin \u0130zinlerini Ayarlama (Chroot \u0130\u00e7in G\u00fcvenlik):<\/strong><br \/>\n    <code>ftpuser<\/code> kullan\u0131c\u0131s\u0131n\u0131n ana dizini olan <code>\/home\/ftpuser<\/code>&#8216;\u0131n yazma iznini kald\u0131r\u0131n. Bu dizinin sahibi <code>ftpuser<\/code> olabilir, ancak grubun ve di\u011ferlerinin yazma izni olmamal\u0131d\u0131r. En g\u00fcvenli yakla\u015f\u0131m, ana dizinin sahibini <code>root<\/code> yapmak ve izinleri 755 olarak ayarlamakt\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo chown root:root \/home\/ftpuser\n    sudo chmod 755 \/home\/ftpuser<\/code><\/pre>\n<p>    Bu ad\u0131mla, <code>\/home\/ftpuser<\/code> dizini <code>root<\/code> kullan\u0131c\u0131s\u0131na ait olur ve <code>ftpuser<\/code> dahil hi\u00e7bir kullan\u0131c\u0131n\u0131n bu dizine do\u011frudan yazma izni olmaz. Bu, vsftpd&#8217;nin chroot g\u00fcvenlik kural\u0131n\u0131 kar\u015f\u0131lar.<\/p>\n<p>3.  <strong>FTP Y\u00fckleme Dizini \u0130zinlerini Ayarlama:<\/strong><br \/>\n    \u015eimdi as\u0131l dosya y\u00fcklemelerinin yap\u0131laca\u011f\u0131 <code>\/home\/ftpuser\/ftp<\/code> dizininin sahibini ve izinlerini ayarlayal\u0131m. Bu dizin <code>ftpuser<\/code> taraf\u0131ndan yaz\u0131labilir olmal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">sudo chown ftpuser:ftpuser \/home\/ftpuser\/ftp\n    sudo chmod 775 \/home\/ftpuser\/ftp<\/code><\/pre>\n<p>    <code>chmod 775<\/code>, sahibine ve grubuna okuma, yazma ve \u00e7al\u0131\u015ft\u0131rma izni verirken, di\u011fer kullan\u0131c\u0131lara sadece okuma ve \u00e7al\u0131\u015ft\u0131rma izni verir. E\u011fer di\u011fer kullan\u0131c\u0131lar\u0131n da yazma iznine sahip olmas\u0131n\u0131 istiyorsan\u0131z <code>777<\/code> kullanabilirsiniz, ancak bu genellikle \u00f6nerilmez.<\/p>\n<p>\u00d6zetle, <code>ftpuser<\/code> FTP&#8217;ye ba\u011fland\u0131\u011f\u0131nda <code>\/home\/ftpuser\/ftp<\/code> dizinini kendi ana dizini gibi g\u00f6recektir. Ancak, <code>\/home\/ftpuser<\/code> dizinine do\u011frudan yazamayacak, sadece <code>\/home\/ftpuser\/ftp<\/code> dizinine yazabilecektir.<\/p>\n<h3>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131 (UFW)<\/h3>\n<p>E\u011fer sunucunuzda UFW (Uncomplicated Firewall) etkinse, FTP ba\u011flant\u0131lar\u0131na ve pasif mod port aral\u0131\u011f\u0131na izin vermeniz gerekir.<\/p>\n<h4>UFW Durumunu Kontrol Etme<\/h4>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>E\u011fer UFW etkin de\u011filse veya kurulu de\u011filse, a\u015fa\u011f\u0131daki komutlarla kurup etkinle\u015ftirebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">sudo apt install ufw -y\nsudo ufw enable<\/code><\/pre>\n<p><strong>Uyar\u0131:<\/strong> UFW&#8217;yi etkinle\u015ftirmeden \u00f6nce SSH portunuzun (varsay\u0131lan 22) a\u00e7\u0131k oldu\u011fundan emin olun, aksi takdirde sunucunuzla ba\u011flant\u0131n\u0131z kesilebilir.<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 22\/tcp<\/code><\/pre>\n<h4>FTP Portunu ve Pasif Mod Port Aral\u0131\u011f\u0131n\u0131 A\u00e7ma<\/h4>\n<p>FTP kontrol ba\u011flant\u0131lar\u0131 i\u00e7in varsay\u0131lan port 21&#8217;i ve yap\u0131land\u0131rd\u0131\u011f\u0131n\u0131z pasif mod port aral\u0131\u011f\u0131n\u0131 a\u00e7\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo ufw allow 20\/tcp    # FTP veri ba\u011flant\u0131lar\u0131 i\u00e7in (aktif modda kullan\u0131l\u0131r, pasif modda genellikle gerekmez ama eklemekte fayda var)\nsudo ufw allow 21\/tcp    # FTP kontrol ba\u011flant\u0131lar\u0131 i\u00e7in\nsudo ufw allow 40000:40005\/tcp # vsftpd.conf'ta belirledi\u011finiz pasif port aral\u0131\u011f\u0131<\/code><\/pre>\n<p>Tekrar UFW durumunu kontrol ederek kurallar\u0131n uyguland\u0131\u011f\u0131ndan emin olun:<\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da 21\/tcp ve 40000:40005\/tcp i\u00e7in <code>ALLOW<\/code> kurallar\u0131n\u0131 g\u00f6rmelisiniz.<\/p>\n<h3>vsftpd Servisini Yeniden Ba\u015flatma<\/h3>\n<p>Yap\u0131land\u0131rma dosyas\u0131nda ve kullan\u0131c\u0131 ayarlar\u0131nda yapt\u0131\u011f\u0131n\u0131z de\u011fi\u015fikliklerin ge\u00e7erli olmas\u0131 i\u00e7in vsftpd servisini yeniden ba\u015flatman\u0131z gerekir:<\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart vsftpd<\/code><\/pre>\n<p>Herhangi bir hata olup olmad\u0131\u011f\u0131n\u0131 kontrol etmek i\u00e7in servisin durumunu tekrar kontrol edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">systemctl status vsftpd<\/code><\/pre>\n<h3>FTP Ba\u011flant\u0131s\u0131n\u0131 Test Etme<\/h3>\n<p>Art\u0131k vsftpd sunucunuz yap\u0131land\u0131r\u0131ld\u0131\u011f\u0131na g\u00f6re, bir FTP istemcisi kullanarak ba\u011flant\u0131y\u0131 test edebilirsiniz.<\/p>\n<h4>Komut Sat\u0131r\u0131ndan Test Etme<\/h4>\n<p>Kendi sunucunuzdan veya ba\u015fka bir Linux makinesinden test edebilirsiniz:<\/p>\n<pre><code class=\"language-bash\">ftp your_server_ip_address<\/code><\/pre>\n<p><code>your_server_ip_address<\/code> yerine sunucunuzun IP adresini yaz\u0131n.<br \/>\nSizden kullan\u0131c\u0131 ad\u0131 (\u00f6rn. <code>ftpuser<\/code>) ve \u015fifre isteyecektir. Ba\u015far\u0131l\u0131 bir \u015fekilde giri\u015f yapt\u0131ktan sonra <code>ftp><\/code> istemini g\u00f6rmelisiniz.<br \/>\n*   <code>ls<\/code>: Dizin i\u00e7eri\u011fini listeleme<br \/>\n*   <code>put local_file.txt<\/code>: Yerel bir dosyay\u0131 sunucuya y\u00fckleme<br \/>\n*   <code>get remote_file.txt<\/code>: Sunucudan bir dosyay\u0131 indirme<br \/>\n*   <code>quit<\/code>: FTP oturumundan \u00e7\u0131kma<\/p>\n<h4>Grafiksel FTP \u0130stemcisi ile Test Etme (\u00d6rn. FileZilla)<\/h4>\n<p>FileZilla gibi bir FTP istemcisi kullanarak da ba\u011flant\u0131y\u0131 test edebilirsiniz.<br \/>\n1.  <strong>Host (Sunucu):<\/strong> <code>your_server_ip_address<\/code><br \/>\n2.  <strong>Username (Kullan\u0131c\u0131 Ad\u0131):<\/strong> <code>ftpuser<\/code><br \/>\n3.  <strong>Password (\u015eifre):<\/strong> <code>ftpuser<\/code> i\u00e7in belirledi\u011finiz \u015fifre<br \/>\n4.  <strong>Port:<\/strong> <code>21<\/code> (varsay\u0131lan)<br \/>\n5.  <strong>Protokol:<\/strong> FTP &#8211; File Transfer Protocol<\/p>\n<p>Ba\u011flant\u0131 kurduktan sonra, FileZilla&#8217;n\u0131n sa\u011f taraf\u0131ndaki uzak sunucu penceresinde <code>\/home\/ftpuser\/ftp<\/code> dizininin i\u00e7eri\u011fini g\u00f6rmelisiniz. Dosya y\u00fckleme ve indirme i\u015flemlerini deneyerek yazma izinlerinin do\u011fru \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olun.<\/p>\n<h3>Geli\u015fmi\u015f Yap\u0131land\u0131rma ve G\u00fcvenlik \u0130pu\u00e7lar\u0131<\/h3>\n<p>FTP, varsay\u0131lan olarak g\u00fcvenli de\u011fildir. Hassas verilerle \u00e7al\u0131\u015f\u0131rken ek g\u00fcvenlik \u00f6nlemleri alman\u0131z \u00f6nemlidir.<\/p>\n<h4>SSL\/TLS Kullan\u0131m\u0131 (FTPS)<\/h4>\n<p>Veri transferini ve kimlik do\u011frulamas\u0131n\u0131 \u015fifrelemek i\u00e7in FTPS kullanmak \u015fiddetle tavsiye edilir. Bunun i\u00e7in bir SSL\/TLS sertifikas\u0131na ihtiyac\u0131n\u0131z olacakt\u0131r.<\/p>\n<p>1.  <strong>SSL Sertifikas\u0131 Olu\u015fturma:<\/strong><br \/>\n    Kendi imzal\u0131 (self-signed) bir sertifika olu\u015fturabilirsiniz. \u00dcretim ortamlar\u0131 i\u00e7in CA (Certificate Authority) taraf\u0131ndan imzalanm\u0131\u015f bir sertifika kullanmak daha iyidir.<\/p>\n<pre><code class=\"language-bash\">sudo openssl req -x509 -nodes -days 365 -newkey rsa:2048 -keyout \/etc\/ssl\/private\/vsftpd.pem -out \/etc\/ssl\/certs\/vsftpd.pem<\/code><\/pre>\n<p>    Bu komut, bir y\u0131l ge\u00e7erli, 2048-bit RSA anahtarl\u0131 bir sertifika olu\u015fturur. Sertifika olu\u015fturulurken sizden baz\u0131 bilgiler (\u00fclke, \u015fehir, organizasyon vb.) istenecektir.<\/p>\n<p>2.  <strong>vsftpd.conf Dosyas\u0131n\u0131 D\u00fczenleme:<\/strong><br \/>\n    <code>\/etc\/vsftpd.conf<\/code> dosyas\u0131n\u0131 a\u00e7\u0131n ve a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin veya d\u00fczenleyin:<\/p>\n<pre><code class=\"language-bash\">ssl_enable=YES\n    allow_anon_ssl=NO\n    force_local_data_ssl=YES\n    force_local_logins_ssl=YES\n    ssl_tlsv1=YES\n    ssl_sslv2=NO\n    ssl_sslv3=NO\n    rsa_cert_file=\/etc\/ssl\/certs\/vsftpd.pem\n    rsa_private_key_file=\/etc\/ssl\/private\/vsftpd.pem<\/code><\/pre>\n<p>    Bu ayarlar, t\u00fcm yerel kullan\u0131c\u0131lar\u0131n veri ve giri\u015fleri i\u00e7in SSL\/TLS kullanmas\u0131n\u0131 zorlar. Yaln\u0131zca TLSv1&#8217;e izin verilirken, daha eski ve zay\u0131f olan SSLv2 ve SSLv3 devre d\u0131\u015f\u0131 b\u0131rak\u0131l\u0131r.<\/p>\n<p>3.  <strong>vsftpd Servisini Yeniden Ba\u015flatma:<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo systemctl restart vsftpd<\/code><\/pre>\n<p>    Art\u0131k FTP istemcinizden FTPS (explicit FTP over TLS\/SSL) kullanarak ba\u011flanmal\u0131s\u0131n\u0131z. FileZilla&#8217;da &#8220;\u015eifreleme&#8221; ayar\u0131n\u0131 &#8220;Require explicit FTP over TLS&#8221; olarak se\u00e7ebilirsiniz.<\/p>\n<h4>Kullan\u0131c\u0131 Listeleri ile Eri\u015fimi Kontrol Etme<\/h4>\n<p><code>userlist_enable<\/code> ve <code>userlist_file<\/code> ile daha detayl\u0131 eri\u015fim kontrol\u00fc sa\u011flayabilirsiniz.<br \/>\n*   <code>userlist_deny=YES<\/code> (varsay\u0131lan): <code>\/etc\/vsftpd.userlist<\/code> dosyas\u0131nda listelenen kullan\u0131c\u0131lar hari\u00e7 herkesin eri\u015fimini engeller.<br \/>\n*   <code>userlist_deny=NO<\/code>: Sadece <code>\/etc\/vsftpd.userlist<\/code> dosyas\u0131nda listelenen kullan\u0131c\u0131lar\u0131n eri\u015fimine izin verir.<\/p>\n<p>\u00d6rnek olarak, sadece <code>ftpuser<\/code> kullan\u0131c\u0131s\u0131n\u0131n eri\u015fmesini istiyorsan\u0131z:<br \/>\n1.  <code>\/etc\/vsftpd.conf<\/code> i\u00e7ine a\u015fa\u011f\u0131daki sat\u0131rlar\u0131 ekleyin:<\/p>\n<pre><code class=\"language-\">userlist_enable=YES\n    userlist_deny=NO\n    userlist_file=\/etc\/vsftpd.userlist<\/code><\/pre>\n<p>2.  <code>\/etc\/vsftpd.userlist<\/code> dosyas\u0131n\u0131 olu\u015fturun ve i\u00e7ine <code>ftpuser<\/code> yaz\u0131n:<\/p>\n<pre><code class=\"language-bash\">sudo nano \/etc\/vsftpd.userlist<\/code><\/pre>\n<p>    \u0130\u00e7ine:<\/p>\n<pre><code class=\"language-\">ftpuser<\/code><\/pre>\n<p>    Kaydedip \u00e7\u0131k\u0131n.<br \/>\n3.  vsftpd servisini yeniden ba\u015flat\u0131n.<\/p>\n<h4>Bant Geni\u015fli\u011fi S\u0131n\u0131rlamas\u0131<\/h4>\n<p>Belirli kullan\u0131c\u0131lar\u0131n veya t\u00fcm kullan\u0131c\u0131lar\u0131n kullanabilece\u011fi bant geni\u015fli\u011fini s\u0131n\u0131rlayabilirsiniz:<\/p>\n<pre><code class=\"language-bash\">local_max_rate=500000 # Yerel kullan\u0131c\u0131lar i\u00e7in maksimum h\u0131z (byte\/saniye cinsinden, burada 500KB\/s)\nanon_max_rate=100000 # Anonim kullan\u0131c\u0131lar i\u00e7in maksimum h\u0131z (e\u011fer anonim eri\u015fim a\u00e7\u0131ksa)<\/code><\/pre>\n<h4>Loglama<\/h4>\n<p>Transfer loglar\u0131n\u0131 detayland\u0131rmak, g\u00fcvenlik denetimleri ve sorun giderme i\u00e7in faydal\u0131d\u0131r.<\/p>\n<pre><code class=\"language-bash\">xferlog_enable=YES\nxferlog_file=\/var\/log\/vsftpd.log\nxferlog_std_format=YES<\/code><\/pre>\n<p>Bu ayarlar ile t\u00fcm transferler <code>\/var\/log\/vsftpd.log<\/code> dosyas\u0131na standart formatta kaydedilir.<\/p>\n<h3>Sorun Giderme<\/h3>\n<p>Kurulum veya ba\u011flant\u0131 s\u0131ras\u0131nda sorun ya\u015farsan\u0131z, a\u015fa\u011f\u0131daki ad\u0131mlar\u0131 kontrol edebilirsiniz:<\/p>\n<p>1.  <strong>vsftpd Servisi \u00c7al\u0131\u015f\u0131yor mu?<\/strong><\/p>\n<pre><code class=\"language-bash\">systemctl status vsftpd<\/code><\/pre>\n<p>    E\u011fer \u00e7al\u0131\u015fm\u0131yorsa <code>sudo systemctl start vsftpd<\/code> ile ba\u015flat\u0131n.<\/p>\n<p>2.  <strong>G\u00fcvenlik Duvar\u0131 Ayarlar\u0131 Do\u011fru mu?<\/strong><\/p>\n<pre><code class=\"language-bash\">sudo ufw status<\/code><\/pre>\n<p>    21\/tcp ve pasif mod port aral\u0131\u011f\u0131na (\u00f6rn. 40000:40005\/tcp) izin verildi\u011finden emin olun. Sunucunuzun d\u0131\u015f IP adresinden eri\u015fim sa\u011fl\u0131yorsan\u0131z, UFW&#8217;nin d\u0131\u015f ba\u011flant\u0131lara izin verdi\u011finden emin olun.<\/p>\n<p>3.  <strong>vsftpd.conf Dosyas\u0131nda S\u00f6z Dizimi Hatas\u0131 Var m\u0131?<\/strong><br \/>\n    vsftpd yap\u0131land\u0131rma dosyas\u0131 \u00e7ok hassast\u0131r. Bir hata, servisin ba\u015flamamas\u0131na neden olabilir. <code>systemctl status vsftpd<\/code> \u00e7\u0131kt\u0131s\u0131ndaki hata mesajlar\u0131n\u0131 dikkatlice okuyun veya <code>journalctl -xe<\/code> komutunu kullanarak daha detayl\u0131 loglara bak\u0131n.<\/p>\n<p>4.  <strong>Kullan\u0131c\u0131 Ad\u0131 ve \u015eifre Do\u011fru mu?<\/strong><br \/>\n    FTP istemcinizde do\u011fru kullan\u0131c\u0131 ad\u0131 ve \u015fifreyi kulland\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<p>5.  <strong>Chroot Jail Sorunlar\u0131 (500 OOPS: vsftpd: refusing to run with writable root inside chroot())<\/strong><br \/>\n    Bu hata genellikle chroot edilen dizinin (kullan\u0131c\u0131n\u0131n ana dizini) kullan\u0131c\u0131n\u0131n yazma iznine sahip olmas\u0131 durumunda ortaya \u00e7\u0131kar. Yukar\u0131daki &#8220;G\u00fcvenli Dizin Yap\u0131s\u0131n\u0131n Olu\u015fturulmas\u0131&#8221; b\u00f6l\u00fcm\u00fcndeki ad\u0131mlar\u0131 do\u011fru uygulad\u0131\u011f\u0131n\u0131zdan emin olun:<br \/>\n    *   <code>\/home\/ftpuser<\/code> dizini <code>root:root<\/code> taraf\u0131ndan sahip olmal\u0131 ve izinleri <code>755<\/code> olmal\u0131.<br \/>\n    *   <code>\/home\/ftpuser\/ftp<\/code> dizini <code>ftpuser:ftpuser<\/code> taraf\u0131ndan sahip olmal\u0131 ve izinleri <code>775<\/code> olmal\u0131.<br \/>\n    *   <code>vsftpd.conf<\/code> i\u00e7inde <code>local_root=\/home\/$USER\/ftp<\/code> sat\u0131r\u0131 bulunmal\u0131.<\/p>\n<p>6.  <strong>Pasif Mod Ba\u011flant\u0131 Sorunlar\u0131:<\/strong><br \/>\n    *   <code>vsftpd.conf<\/code> i\u00e7indeki <code>pasv_min_port<\/code> ve <code>pasv_max_port<\/code> aral\u0131\u011f\u0131n\u0131n g\u00fcvenlik duvar\u0131nda a\u00e7\u0131k oldu\u011fundan emin olun.<br \/>\n    *   E\u011fer sunucunuz bir NAT arkas\u0131ndaysa veya birden fazla IP&#8217;ye sahipse, <code>pasv_address=YOUR_SERVER_PUBLIC_IP_ADDRESS<\/code> sat\u0131r\u0131n\u0131n do\u011fru genel IP adresini i\u00e7erdi\u011finden emin olun.<\/p>\n<p>7.  <strong>Log Dosyalar\u0131n\u0131 Kontrol Etme:<\/strong><br \/>\n    vsftpd&#8217;nin log dosyalar\u0131 (varsay\u0131lan olarak <code>\/var\/log\/vsftpd.log<\/code> veya sistem loglar\u0131 <code>\/var\/log\/syslog<\/code> veya <code>journalctl -u vsftpd<\/code>) sorunlar\u0131n kayna\u011f\u0131n\u0131 bulmada size yard\u0131mc\u0131 olacakt\u0131r.<\/p>\n<h3>Sonu\u00e7<\/h3>\n<p>Bu kapsaml\u0131 rehberde, Ubuntu 16.04 sunucunuzda vsftpd&#8217;yi belirli bir yerel kullan\u0131c\u0131 i\u00e7in nas\u0131l kuraca\u011f\u0131n\u0131z\u0131 ve yap\u0131land\u0131raca\u011f\u0131n\u0131z\u0131 ad\u0131m ad\u0131m \u00f6\u011frendiniz. Anonim eri\u015fimi devre d\u0131\u015f\u0131 b\u0131rakarak, yerel kullan\u0131c\u0131 eri\u015fimini etkinle\u015ftirerek, kullan\u0131c\u0131lar\u0131 chroot jail ile kendi dizinlerine hapsederek ve g\u00fcvenli dizin izinleri ayarlayarak temel g\u00fcvenli\u011fi sa\u011flad\u0131k. Ayr\u0131ca pasif mod ayarlar\u0131 ve UFW g\u00fcvenlik duvar\u0131 yap\u0131land\u0131rmas\u0131n\u0131 da ele ald\u0131k.<\/p>\n<p>Unutulmamal\u0131d\u0131r ki, FTP protokol\u00fc do\u011fas\u0131 gere\u011fi g\u00fcvenli de\u011fildir. Bu nedenle, hassas veri transferleri i\u00e7in FTPS (SSL\/TLS \u015fifrelemesi ile) kullan\u0131m\u0131n\u0131 \u015fiddetle tavsiye ederiz. Bu rehberde FTPS&#8217;nin nas\u0131l etkinle\u015ftirilece\u011fine dair ad\u0131mlar da sunulmu\u015ftur. G\u00fcvenli bir FTP sunucusu kurmak, sunucu g\u00fcvenli\u011finizin \u00f6nemli bir par\u00e7as\u0131d\u0131r ve bu rehberdeki ad\u0131mlar\u0131 dikkatlice takip etmek, sisteminizi potansiyel g\u00fcvenlik a\u00e7\u0131klar\u0131na kar\u015f\u0131 koruman\u0131za yard\u0131mc\u0131 olacakt\u0131r. Sunucunuzun ve vsftpd yap\u0131land\u0131rman\u0131z\u0131n g\u00fcncel ve d\u00fczenli olarak denetlendi\u011finden emin olun.<\/body><\/p>\n","protected":false},"excerpt":{"rendered":"Ubuntu 16.04 \u00dczerinde vsftpd&#8217;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi\nGiri\u015f\nDosya Transfer Protokol\u00fc (FTP), sunucular ve istemc","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"csco_page_header_type":"","csco_page_load_nextpost":"","csco_page_subscribe_form":"","csco_page_contact_form":"","footnotes":""},"categories":[1468],"tags":[],"class_list":{"0":"post-35536","1":"post","2":"type-post","3":"status-publish","4":"format-standard","6":"category-ubuntu","7":"cs-entry","8":"cs-video-wrap"},"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v20.5 (Yoast SEO v25.3.1) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Ubuntu 16.04 \u00dczerinde vsftpd&#039;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/\" \/>\n<meta property=\"og:locale\" content=\"tr_TR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Ubuntu 16.04 \u00dczerinde vsftpd&#039;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi\" \/>\n<meta property=\"og:description\" content=\"Ubuntu 16.04 \u00dczerinde vsftpd&#039;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi Giri\u015f Dosya Transfer Protokol\u00fc (FTP), sunucular ve istemc\" \/>\n<meta property=\"og:url\" content=\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/\" \/>\n<meta property=\"og:site_name\" content=\"Kodlar\u0131n Gizemli D\u00fcnyas\u0131\" \/>\n<meta property=\"article:published_time\" content=\"2025-11-30T19:40:47+00:00\" \/>\n<meta name=\"author\" content=\"Fatih Soysal\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Yazan:\" \/>\n\t<meta name=\"twitter:data1\" content=\"Fatih Soysal\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tahmini okuma s\u00fcresi\" \/>\n\t<meta name=\"twitter:data2\" content=\"16 dakika\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/\"},\"author\":{\"name\":\"Fatih Soysal\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"headline\":\"Ubuntu 16.04 \u00dczerinde vsftpd&#8217;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi\",\"datePublished\":\"2025-11-30T19:40:47+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/\"},\"wordCount\":2760,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"articleSection\":[\"Ubuntu\"],\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#respond\"]}],\"copyrightYear\":\"2025\",\"copyrightHolder\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/\",\"name\":\"Ubuntu 16.04 \u00dczerinde vsftpd'yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131\",\"isPartOf\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\"},\"datePublished\":\"2025-11-30T19:40:47+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#breadcrumb\"},\"inLanguage\":\"tr\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Anasayfa\",\"item\":\"https:\/\/fatihsoysal.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Ubuntu 16.04 \u00dczerinde vsftpd&#8217;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#website\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/\",\"name\":\"Fatihsoysal.com\",\"description\":\"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim\",\"publisher\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"tr\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1\",\"name\":\"Fatih Soysal\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"tr\",\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"contentUrl\":\"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png\",\"width\":512,\"height\":512,\"caption\":\"Fatih Soysal\"},\"logo\":{\"@id\":\"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/\"},\"description\":\"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.\",\"url\":\"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Ubuntu 16.04 \u00dczerinde vsftpd'yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/","og_locale":"tr_TR","og_type":"article","og_title":"Ubuntu 16.04 \u00dczerinde vsftpd'yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi","og_description":"Ubuntu 16.04 \u00dczerinde vsftpd'yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi Giri\u015f Dosya Transfer Protokol\u00fc (FTP), sunucular ve istemc","og_url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/","og_site_name":"Kodlar\u0131n Gizemli D\u00fcnyas\u0131","article_published_time":"2025-11-30T19:40:47+00:00","author":"Fatih Soysal","twitter_card":"summary_large_image","twitter_misc":{"Yazan:":"Fatih Soysal","Tahmini okuma s\u00fcresi":"16 dakika"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#article","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/"},"author":{"name":"Fatih Soysal","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"headline":"Ubuntu 16.04 \u00dczerinde vsftpd&#8217;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi","datePublished":"2025-11-30T19:40:47+00:00","mainEntityOfPage":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/"},"wordCount":2760,"commentCount":0,"publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"articleSection":["Ubuntu"],"inLanguage":"tr","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#respond"]}],"copyrightYear":"2025","copyrightHolder":{"@id":"https:\/\/fatihsoysal.com\/blog\/#organization"}},{"@type":"WebPage","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/","url":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/","name":"Ubuntu 16.04 \u00dczerinde vsftpd'yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi - Kodlar\u0131n Gizemli D\u00fcnyas\u0131","isPartOf":{"@id":"https:\/\/fatihsoysal.com\/blog\/#website"},"datePublished":"2025-11-30T19:40:47+00:00","breadcrumb":{"@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#breadcrumb"},"inLanguage":"tr","potentialAction":[{"@type":"ReadAction","target":["https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/fatihsoysal.com\/blog\/ubuntu-16-04-uzerinde-vsftpdyi-bir-kullanicinin-dizini-icin-yapilandirma-rehberi\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Anasayfa","item":"https:\/\/fatihsoysal.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Ubuntu 16.04 \u00dczerinde vsftpd&#8217;yi Bir Kullan\u0131c\u0131n\u0131n Dizini \u0130\u00e7in Yap\u0131land\u0131rma Rehberi"}]},{"@type":"WebSite","@id":"https:\/\/fatihsoysal.com\/blog\/#website","url":"https:\/\/fatihsoysal.com\/blog\/","name":"Fatihsoysal.com","description":"Blog - Yaz\u0131l\u0131m D\u00fcnyas\u0131 Tecr\u00fcbelerim","publisher":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/fatihsoysal.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"tr"},{"@type":["Person","Organization"],"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/002a254750921dcfd568a99e48240dd1","name":"Fatih Soysal","image":{"@type":"ImageObject","inLanguage":"tr","@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","contentUrl":"https:\/\/fatihsoysal.com\/blog\/wp-content\/uploads\/2024\/04\/cropped-replicate-prediction-3kgg1hgjn5rgp0cf0p5tr0jw7w-1.png","width":512,"height":512,"caption":"Fatih Soysal"},"logo":{"@id":"https:\/\/fatihsoysal.com\/blog\/#\/schema\/person\/image\/"},"description":"Kullan\u0131m ve kodlama m\u00fckemmeliyetini odak alan uygulamalar olu\u015fturma deneyimine sahip, profesyonel olarak 15+ y\u0131l \u00fczeri deneyime sahip bir yaz\u0131l\u0131m m\u00fchendisi.","url":"https:\/\/fatihsoysal.com\/blog\/author\/fatihsoysal\/"}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35536","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/comments?post=35536"}],"version-history":[{"count":1,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35536\/revisions"}],"predecessor-version":[{"id":35537,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/posts\/35536\/revisions\/35537"}],"wp:attachment":[{"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/media?parent=35536"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/categories?post=35536"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/fatihsoysal.com\/blog\/wp-json\/wp\/v2\/tags?post=35536"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}