[Nasıl] Ubuntu Server Üzerinde Ftp Server Kurulumu Detaylı anlatım

Başlatan ugurcetin067, 02 Mart 2016 - 16:48:22

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

ugurcetin067

Dosya paylaşım servisleri network tabanlı dosya paylaşımı yapan servislerdir. FTP,NFS ve
SAMBA birer network tabanlı dosya paylaşım servisidir.
Ftp dosya paylaşımı için kullanabileceğimiz en basit servislerden biridir.Aktif ve Pasif olmak
üzere iki farklı modda çalıştırılabilir.

aktif mod: İstemcide 1023 ve üzeri ,sunucuda 20 21 portlar açık olmalı
pasif mod: sunucuda 21 ve 1023 ve üzeri portlar açık olmalı istemcide herhangi bir port açık
olmasına gerek yok.

Bu yüzden Pasif mod daha çok tercih edilir istemci tarafında port açmaya gerek yoktur.


apt-get install vsftpd


komutuyla kurulumumuzu gerçekleştiriyoruz.


sudo sed -i "/^#/d;/^ *$/d" /etc/vsftpd.conf


gereksiz boşlukları açıklamalarımızı siliyoruz


vi /etc/vsftpd.conf

komutuyla ayar dosyamıza giriyoruz

pasv_enable=yes
pasv_min_port=10090
pasv_max_port=10100

//pasif mod kullnılacaksa pasv_enable=yes satırı eklenir.
//data transferi yapılırken hangi port aralığını kullanılacağını pasv_min ve pasv_max ile
seçebiliriz.

anonymous_enable=NO //Bilinmeyen Kullanıcıların FTP Yapmasını Engelliyor//

local_enable=YES //Yerel Kullanıcıların Oturum Açmasına İzin Veriyor//

write_enable=YES //FTP Yazma Aktif//

dirmessage_enable=YES //Dizin Mesajaları Etkin//

use_localtime=YES //vsftpd yerel saat diliminde zaman dizin listeleri gösterecektir.//

xferlog_enable=YES //Yükleme / indirme Günlüğünü Etkinleştir.//

connect_from_port_20=YES //(Ftp-data) PORT transferi bağlantıları port 20//

secure_chroot_dir=/var/run/vsftpd/empty //Bu seçenek, boş bir dizinin adı olmalıdır. Ayrıca, dizini ftp kullanıcı tarafından yazılabilir olmamalıdır.//

pam_service_name=vsftpd //Servis Kullanılacak Ad//

rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem //Bu seçenek SSL bağlantıları kullanmak için RSA sertifikanın konumunu belirtir.//

sa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key //Bu seçenek SSL bağlantıları kullanmak için RSA anahtarının konumunu belirtir.//

local_umask=022 //dosya veya dizin oluşturulurken varsayılanda hangi izin haklarıyla oluşturulacağını seçeriz.

ftpd_banner="ugurlublog ftp servisi"//kullanıcılara bağlandıklarında görecekleri mesajı burdan yazarız

local_max_rate=7200 //Kullanıcıların veri aktarım hızını sınırlayabiliriz.(byte/sn)

chroot_local_user=YES// kullanıcılar kendi dizinlerinden üst dizinlere çıkamazlar.

allow_writeable_chroot=YES// kullanıcılar kendi dizinlerinden üst dizinlere çıkamazlar.

tcp_wrappers=YES // Tcp warappers desteği verilip verilmeyeceğini belirleriz.

ayarlarımızı kaydedip çıkıyoruz ayar dosyamızın son hali



şimdi ikinci ayar dosyamıza bakalım


cat /etc/ftpusers


# /etc/ftpusers: list of users disallowed FTP access. See ftpusers(5).

root
daemon
bin
sys
sync
games
man
lp
mail
news
uucp
nobody

ftpusers dosyasında ftp servisini kullanmasına izin verilmeyen kullanıcıları ekleriz.Varsayılanda bu kullanıcılar vardır.Özellikle root kullanıcısının ftp servisini kullanmaması için bu dosyaya ekli olduğundan emin olmamız gerekir.

Bu değişikliklerin ardından sunucumuzu yeniden başlatıyor ve ayarları aktif hale getiriyoruz.Virtual (sanal) kullanıcılarla uğraşmadan sisteme ssh ve konsoldan giriş (login)yapamayan gerçek kullanıcılar oluşturacağız.
Bu kullanıcıların dizinleride home yerine başka bir klasörde olarak belirleyeceğiz.Giriş yapılmayacak şekilde kabuk oluşturuyoruz.


vim /etc/shells

# /etc/shells: valid login shells
/bin/sh
/bin/dash
/bin/bash
/bin/rbash
/usr/bin/tmux
/usr/bin/screen
/bin/csh
/usr/bin/es
/usr/bin/ksh
/bin/ksh
/usr/bin/rc
/usr/bin/tcsh
/bin/tcsh
/usr/bin/esh
/usr/bin/screen
/bin/false

FTP Servisimize Bağlanacak Kullanıcıları, şifreleri ve Bu kullanıcıların Sorumlu Olduğu Klasörleri Oluşturuyoruz.


mkdir -p /var/www/resim

useradd resim -d /var/www/resim -s /bin/false
1
passwd resim

chown -R root:resim /var/www/resim

chmod -R ug+rwx,o+rx-w /var/www/resim

ve FTP Serverimizi yeniden başlatıyoruz


service vsftpd restart

en son olarak filezilla'dan kontrol ediyoruz



Sunucu Tarafında da ftp ye bağlanarak işlemler yapabilirsiniz

FTP KOMUTLARI
ftp>pwd
//hangi dizinde bulunduğumuzu öğreniriz.
ftp>dir
//bulunduğumuz dizindeki dosya ve dizinleri listeleriz.
ftp>cd /yedekler
//istediğimiz dizine geçmek için cd komutunu kullanabiliriz.
ftp> type
//mevcut kullanılan dosya transfer türünü öğrenebiliriz.
ftp>bin
//Dosya aktarımının hangi modda olacağını seçiyoruz.tar.gz (sıkıştırılmış dosya) uzantılı dosya aktarımı yapıyorsak bin seçebiliriz.
ftp>hash
//Dosya aktaraımında daha güvenli olması için verilerin hash'lernerek aktarılmasını sağlarız.
ftp>get dosya
//ftp sunucusundan kendi makinamıza herhangibir dosyayı indirmek için kullanabiliriz.
ftp> mget *
//sunucu üzerinde bulunduğumuz tüm dosyaların kendi makinamamıza taşınması için kullanabiliriz.
ftp>put /istemci/dosya
//kendi makinamızdan sunucuya herhangi bir dosya aktarmak için kullanabiliriz.
ftp> mput /istemci/a*
//kendi makinamızdan birden çok dosyayı sunucuya aktarmak için kullanabiliriz.
ftp> delete dosya
//bağlandığımız sunucu üzerinde bulunduğumuz dizindeki ki dosyayı silmek için kullanabiliriz.
ftp> mdelete a*
//birden çok dosya silmek için kullanabiliriz.

İyi Çalışamalar

Kaynak: http://ugurlublog.com/ubuntu-server-uzerinde-ftp-server-kurulumu/

ahmettepe

uzaktaki ubuntu server'a vsftpd kurulumu yaptım. fakat bu ftp server'a bağlanmak için gerekli ip adres bilgilerini nasıl öğreneceğim?

systmrrr

Alıntı yapılan: ahmettepe - 25 Mart 2018 - 09:16:48
uzaktaki ubuntu server'a vsftpd kurulumu yaptım. fakat bu ftp server'a bağlanmak için gerekli ip adres bilgilerini nasıl öğreneceğim?

sunucuna kurulum yaptiysan sunucu host adresini veya ipni biliyor olman gerekir. sunucun ile ayni adres olur ftp adresi farkli bi adres anlamamalısın

ahmettepe

Alıntı yapılan: systmrrr - 25 Mart 2018 - 19:31:27
Alıntı yapılan: ahmettepe - 25 Mart 2018 - 09:16:48
uzaktaki ubuntu server'a vsftpd kurulumu yaptım. fakat bu ftp server'a bağlanmak için gerekli ip adres bilgilerini nasıl öğreneceğim?

sunucuna kurulum yaptiysan sunucu host adresini veya ipni biliyor olman gerekir. sunucun ile ayni adres olur ftp adresi farkli bi adres anlamamalısın

siteye login olduğum kullanıcı adı ve password var. bir de aşağıdaki resimdeki bilgiler var. başka bir şey yok. vsftpd status yazdığımda da resimdeki sonuç çıkıyor. 






Mesaj tekrarı yüzünden mesajınız birleştirildi. Bu mesajın gönderim tarihi : 26 Mart 2018 - 10:02:28

Ayrıca vsftpd.conf dosyasının içeriği de şu şekilde. anonymous bağlanmak istiyorum. kullanıcı adı şifre filan sormasın.


systmrrr

ftp kullanici ismi oluşturdun mu?
konsola şunu yazip atar msn?
hostname -I

ahmettepe


systmrrr

bağlanmak için uzak ip adresin;
172.40.169.93

bağlanmak için filezilla kullanmalısın
şifresiz istiyorsan filezilla da ip ni yazıp bağlanman yeterli
veya komut satırı ile de bağlanabilirsin

anonymous olarak bağlanmayı denedim fakat bağlantı başarız oluyor.
tam kurulum yapıp çalıştığına emin msn?

ftp ile olmazsa  sftp  ile bağlanmayı deneybilirsn

ahmettepe

filezilla ile denedim. sadece ip yazip baglan tıkladığımda bir müddet bekliyor, sonrası başarısız. kontrol için yapmam gereken bir şeyler varsa, yönlendirin yapayım.

systmrrr

her seyi unut en baştan şunları yap
anonymous olarak daha sonra ayar çekicez
ssh ile sunucuya bağlanıp;

1-ftp servisi kurucaz (kurduysan geç burayı)
sudo apt update
sudo apt install vsftpd -y


2-ahmettepe isimli kullanıcı oluşturuyoz
sudo adduser ahmettepe
sudo passwd ahmettepe
[AHMETTEPE KULLANICISINA ŞİFRE BELİRLE]
sudo adduser ahmettepe sudo


3-ftp de kullanılmak üzere dizin oluşturuyoz (dizini kafana göre düzenle)
sudo mkdir /home/ahmettepe/ftp
sudo chown nobody:nogroup /home/ahmettepe/ftp
sudo chmod a-w /home/ahmettepe/ftp


4-dosya sahipliklerini ayarlayalım
sudo mkdir /home/ahmettepe/ftp/
sudo chown ahmettepe:ahmettepe /home/ahmettepe/ftp


5-ftp ayar dosyasını açıp alayını sil ve alttakileri ekle
sudo nano /etc/vsftpd.conf

--> alttakileri ekle
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
chroot_local_user=YES
user_sub_token=$USER
local_root=/home/$USER/ftp
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO


6-ahmettepe kullanıcısına ftp izni veriyoz
echo "ahmettepe" | sudo tee -a /etc/vsftpd.userlist

7-aha bitti;
sudo systemctl restart vsftpd

------ şimdi ftp ye erişmek için gerekenler;
kullanıcı adı:: ahmettepe
şifresi:: [BELİRLEDİĞİN ŞİFRE]
ip adresi:: 172.40.169.93
port:: 21



///////////////////////////////////////////////////////////////////////////////



illa anonymous istiyosan;

1-
sudo nano /etc/vsftpd.conf

2-
anonymous_enable=NO   yazan yeri YES olarak değiştir.

3-
sudo systemctl restart vsftpd

------- şimdi anonymous ftp için;
ip adresi:: 172.40.169.93
port:: 21

;) umarım işine yarar ;)

ahmettepe

Alıntı yapılan: systmrrr - 26 Mart 2018 - 19:06:46
her seyi unut en baştan şunları yap

;) umarım işine yarar ;)

o sitede olmuyor anlaşılan. başka bir sitede denedim. çalıştı.

filezilla ile bağlanıyorum. yalnız anonymous ile girdiğimde boş bir klasör var. default olarak burası hangi klasör oluyor. yani sunucudaki bir dosyayı anonymous olarak girildiğinde görebilmem için hangi klasöre taşımam gerek bu dosyayı?



ahmettepe

forum ahlakı gereği çözümü buldum, yazayım. belki benzer problem ile karşılaşanların işine yarayabilir.

anon_root=/home/kullanıcı_adı

kullanıcı adını siz belirliyorsunuz. vsftpd.conf dosyasına eklediğinizde anonymous klasörünüz artık bu belirttiğiniz klasör oluyor.

Ayrıca "systmrrr" diğer yardımları için teşekkürler.




systmrrr

sorunun çözüldugune sevindim.
bende başarilar diliyorum :)