Merhaba,
Her zaman olduğu gibi direkt konuya gireceğim.
İşletim sistemini öncelikle güncelleyin.
1 |
yum -y update |
Sonrasında vsftpd indirin.
1 |
yum install vsftpd |
İndirdikten sonra aşağıdaki yola gidip, metin editörüyle (Vi, Vim, Nano vs.) config dosyasını açın.
1 |
vi /etc/vsftpd/vsftpd.conf |
Aşağıdaki satırları dosya içerisinde bulup, aşağıdaki gibi düzeltin.
1 2 3 4 5 |
anonymous_enable=NO local_enable=YES write_enable=YES chroot_local_user=YES chroot_list_file=/etc/vsftpd/chroot_list |
Yukarıdaki satırların başında ‘#’ varsa onları kaldırın. Sonrasında aşağıdaki satırı ssh ekranına yapıştırıp, chroot_list dosyası oluşturun.
1 |
touch /etc/vsftpd/chroot_list |
Eğer oluşturmadıysanız ftp user oluşturup, default directory adresini belirleyin. Örneğin aşağıdaki satırda kullanıcıyı oluşturup, default dizini tanımlayacağım.
1 |
useradd exevolium -d /home/exevolium/ |
Bu şekilde exevolium kullanıcısı tanımlandı ve /home/exevolium/ ana dizini oldu. Şimdi güvenlik açısında bu kullanıcıya bir şifre tanımlamalısınız.
1 |
passwd exevolium |
passwd ile exevolium için şifre tanımlattım. Sizde kendi kullanıcınızı yazıp, şifre tanımlaması yapmalısınız.
Kurulum ve kullanıcı oluşturma işlemi tamam. Şimdi ftp erişimi için portları açmanız gerekiyor. Aşağıdaki komutu ssh konsol ekranına sırasıyla yapıştırın.
1 2 3 4 |
iptables -I INPUT -p tcp --dport 21 -j ACCEPT iptables -I INPUT -p tcp --dport 20 -j ACCEPT service iptables save service vsftpd restart |
20. ve 21. portları açmamızın sebebi ftp bağlantısında Active Mode kullananlar için. Bunu yaptığınızda muhtemelen ftp bağlandığınızda aşağıdaki gibi bir hata alacaksınız.
1 2 3 |
Sunucu bağlantısı kesildi Bağlanılamadı OOPS: priv_sock_get_cmd |
Bunun çözümüyse Selinux’tan geçiyor. sestatus yazarak Selinux’un durumunu kontrol edin. Muhtemelen aktiftir. Bu sebeple aşağıdaki komutu sırasıyla uygulayın.
1 2 |
setenforce 0 service vsftpd restart |
Bağlantı sağlayacak ancak bu sefer de aşağıdaki gibi bir uyarı alacaksınız.
1 2 3 |
Zaman aşımı algılandı (data connection) Klasör listesi alınamadı '/' klasörü listelenirken hata |
Bunun çözümü içinse sunucuda Passive Mode ile ftp bağlantısı sağlayanlar için Passive Mode enable edip portlarını açmalısınız. Öncelikle aşağıdaki işlemi uygulayın. Metin editörüyle /etc/vsftpd/vsftpd.conf açın.
1 2 3 4 |
#İçerisine aşağıdaki satırları ekleyin. pasv_enable=Yes pasv_max_port=10100 pasv_min_port=10090 |
Sonrasında bu portların erişimini sunucuda açın.
(Sırasıyla ssh konsol ekranına yapıştırın.)
1 2 3 |
iptables -I INPUT -p tcp --destination-port 10090:10100 -j ACCEPT service iptables save service vsftpd restart |
Sırasıyla işlemi yaptıktan sonra ftp’ye kullanıcınızla bağlanmayı deneyin.