Centos ftp server kurulumu (vsftpd) ftp hesabı oluşturma 2

Ftp server kurulumu Centos (7) sunucularda, ftp bağlantıları için program kurulumu (vsftpd) ve kullanıcı hesabı ekleme çalışmaları için hazırladığım bu doküman ile panelsiz websunucuları oluşturan arkadaşlar için yararlı bir kaynak oluşturmayı düşünüyorum.

— Ftp bağlantıları için vsftpd kurulumu —

yum -y install vsftpd ftp

Bu işlemlerden sonra kurulum tamamlandı artık ayarları yapabiliriz.

VSFTP ayarları

nano /etc/vsftpd/vsftpd.conf

Açılan ayar sayfasında aşağıdaki parametreleri aynı olacak şekilde düzeltin:

anonymous_enable=NO
local_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

Bağlanan kullanıcıların home dizininden üste çıkmasını engellemek içinde bunu yapalım:

touch /etc/vsftpd/chroot_list

Ftp programına restart atalım (vsftpd)

service vsftpd restart

Sunucu restart edildiğinde ftp hizmetinin otomatik başlatılması için aşağıdaki ayarıda ekleyelim:

/bin/systemctl enable vsftpd.service

ftp hizmetinin kurulumu tamamlandı. Sıra geldi kullanıcı hesabı eklemeye.


— Ftp kullanıcı hesabı ve şifresi ekleme —

Kullanıcı ismi ve izinleri oluşturma:

adduser test_ftp_kullanici

Oluşturduğumuz kullanıcı için şifre belirleme:

passwd test_ftp_kullanici

Yukardaki komutu çalıştırdığınızda sizden şifre isteyecek, sonrasında tekrar aynı şifreyi girmenizi isteyecek. Sonrasında aşağıdaki gibi bir yazı çıktığında kullanıcı hesabı ve şifre tamamdır demektir:

passwd: all authentication tokens updated successfully.

Kullanıcı için ssh giriş yetkisini kaldırma

Oluşturduğumuz kullanıcı ismi ve şifresi ile ssh giriş yetkisi otomatik oluşuyor. Bu yetkiyi güvenliğiniz kaldırmanızı öneririm, aşağıdaki şekilde kullanıcının ssh erişim yetkisini iptal etmiş oluruz:

usermod -s /sbin/nologin test_ftp_kullanici

Bu işlemlerden sonra artık ftp bağlantısı yapabiliriz.

kuaza ftp baglantisi

Bu islemden sonra /home klasoru icerisinde cdn_test ismine bir klasor olusacak. Bu klasorun chmod ayarini ve kullanici/grup ayarlarini duzenlemek gerekli, aksi durumda yetki kontrolu sebebi ile sitemiz acilmayacak, hata mesaji ile karsilasacaksiniz.

Chmod ayarini degistirme

chmod 0711 /home/test_ftp_kullanici

Site dosyalari icin klasor olusturalim

Sitenizin dosyalarini barindiracaginiz klasoru olusturacagiz simdi. Standart ve uzun yillardir default gelen ismi: public_html, ancak siz bunu istediginiz gibi degistirerek kullanabilirsiniz. Hemde guvenlik acisindan iyi olabilir ;)

mkdir -p /home/test_ftp_kullanici/public_html

Site klasörünün kullanıcı/grup ayarlarını düzeltme

chown -R test_ftp_kullanici:test_ftp_kullanici /home/test_ftp_kullanici/public_html

Bu işlemlerden sonra sitemizin dosyaları ve kullanıcı ayarları yapılmış oldu.

Anlatımı olduğunca kısa tutmaya çalıştım, merak ettiklerinizi ve karşılaştığınız hataları konu altından iletebilirsiniz.

***

NOT: Centos 7 de iptables kullanılmıyor olabilir, aşağıdaki kısmı eş geçebilirsiniz.

Uyarı: Sunucunuzdaki güvenlik duvarı (iptables) ftp portunu bloklamış yada açmamış olabilir. Bu yüzden bağlantı yapamayabilirsiniz. Manuel bu portu kullanıma açmak için aşağıdaki işlemleri yapın:

Iptables kural dosyasını açalım:

nano /etc/sysconfig/iptables

COMMIT yazısından öncesine ekleyelim:

-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

Sonrasında aşağıdaki işlemleri sırası ile yapın ve bağlantıyı tekrar deneyin:

service iptables save
service iptables restart

Oluşabilecek sorunlar için yada yardım amaçlı konular:


Kullanıcı bilgileriniz ile bağlanamıyorsanız!! 530 Login incorrect.

Bazı durumlarda herşeyi yaptınız ancak bağlantı hatası aldınız. Genelde aşağıdaki gibi hata mesajları görebilirsiniz:

  • 331 Please specify the password
  • 530 Login incorrect.
  • Kritik hata: Sunucuyla bağlantı kurulamıyor

Bu hatayı ben aşağıdaki düzenlemeyi yaparak çözdüm. Umarım sizde aynı hata ile karşılaşırsanız bu şekilde çözebilirsiniz:

Bu dosyayi duzenlemek icin acin: /etc/shells

Dosya içerisindekileri yedekleyip, aşağıdaki kodları, son satıra ekleyin

/sbin/nologin
/usr/sbin/nologin

Kaydedip vsftpd ye restart atın.

/bin/systemctl restart vsftpd.service

Sonrasında bağlanmayı tekrar deneyin, çözülmüş olması gerekiyor, ancak çözülmediyse konu altından hata mesajı ile beraber yorumunuzu bırakın, yardımcı olmaya çalışırım.

500 OOPS: vsftpd: refusing to run with writable root inside chroot()

Yukadaki hatayı alıyorsanız, kullanıcı klasörlerine küçük bir yetki vermeniz bağlantı sorununu düzeltmeniz için yeterli olacaktır. Aşağıdaki adımları uygulayarak, yukarıdaki bağlantı hatası sorunundan kurtulabilirsiniz.

chmod a-w /home/KULLANICI-ADI

Yukarıdaki komutu putty ile ssh panelinizden çalıştırın ve sonrasında aynı panelden aşağıdaki ftp restart kodunu çalıştırın. Ayarların aktif olması için:

systemctl restart vsftpd

Bu adımdan sonra bağlantı sorunsuz açılması gerekiyor. Ancak yinede aynı hatayı alıyorsanız aşağıdaki ayarı yaparak tekrar deneyin. Her satırı tek tek çalıştırarak sonrasında bağlanmayı deneyin:

echo 'allow_writeable_chroot=YES' >> /etc/vsftpd/vsftpd.conf
systemctl restart vsftpd

Yukarıdaki başlıkta yer alan hatanın çözümünü, buradaki yazıyı deneyerek çözdüm, sizlerde yukarda anlattığım şekilde bu bağlantı sorununu çözebilirsiniz.


FTP bağlantısı yapmak için

Panelsiz bir sunucu kullanıyorsanız, ftp bağlantısı yapmak için sunucu IP sini kullanmanızı öneririm. Aksi durumda sunucunuzda hangi webserver’i kullanıyorsanız ona domain ile birleşik ip bütünleşmesini eklemeniz gereklidir. Yoksa ftp bağlantısı sağlayamazsınız (domain ile).

Bu kadar..

Bu konuda kaynak olabilecek siteler:

CEVAP VER

Lütfen yorumunuzu giriniz!
Lütfen isminizi buraya giriniz

This site uses Akismet to reduce spam. Learn how your comment data is processed.