You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Son durumda son eklediğimiz files adlı dizinin izinleri şu şekilde olmalıdır.
$ sudo ls -la /home/<username>/ftp
total 12
dr-xr-xr-x 3 nobody nogroup 4096 Aug 26 14:01 .
drwxr-xr-x 3 <username><username> 4096 Aug 26 13:59 ..
drwxr-xr-x 2 <username><username> 4096 Aug 26 14:01 files
ADIM 5 - FTP Ayarlarının Yapılması
FTP programının ayar dosyaları /etc/vsftpd.conf altında bulunmaktadır.
Öncelikle bu dosyayı yeniden oluşturmak için eskisinin ismini değiştiriyoruz.
$ sudo mv /etc/vsftpd.conf /etc/vsftpd.conf.orig
Sonrasında bu dosyayı düzenlenebilir halde yeniden açıyoruz.
$ sudo nano /etc/vsftpd.conf
Açılan pencerede aşağıdaki satıları ekleyip kaydediyoruz.
# FTP aktifleştirme
listen=YES
# Bilinmeyen kaynaklara erişimi kapatma
anonymous_enable=NO
# Lokal kaynaklara erişimi açma
local_enable=YES
write_enable=YES
chroot_local_user=YES
# FTP dosya yolu
user_sub_token=$USER
local_root=/home/$USER/ftp
# İzin verilern kullanıcıların çekileceği dosya yolu
userlist_enable=YES
userlist_file=/etc/vsftpd.userlist
userlist_deny=NO
# Passive Port Ayarlamaları# Buraya hostun public ip adresinin girilmesi gerekmektedir.
pasv_enable=YES
pasv_min_port=40000
pasv_max_port=50000
pasv_address=<ip_address>
Bu ayarları yaptıktan sonra daha önce FTP için oluşturduğumuz kullanıcı adını, FTP erişimine izin vermek için oluşturacağımız yeni bir dosyanın içine ekliyoruz.
$ echo "<username>" | sudo tee -a /etc/vsftpd.userlist
Eklediğimiz kullanıcı adının istediğimiz şekilde eklendiğinden emin olmamız gerekmektedir.
$ cat /etc/vsftpd.userlist
# Çıktı
serhat
Tüm işlemler düzgün ilerlediyse, ftp server'ı baştan başlatmamız gerekmektedir.
$ sudo systemctl restart vsftpd
ADIM 6 - Google Cloud Firewall Ayarlarının Yapılması
Lokal firewall ayarlarının yanında, Google Cloud Firewall ayarlarından da kullanacağımız portlara izin vermemiz gerekmektedir.
VPS Ağı > Güvenlik duvarı kuralları sekmesinden aşağıdaki ayarlamaları yapıyoruz.
AD : FTP-Rule-1
Ag : Default
Öncelik : 1000
Yön : Giriş
Eylem : İzin Ver
Hedefler : Ağdaki tüm örnekler
Kaynak filt : IP Aralıkları
IP Aralık : 0.0.0.0/0
Protokoller : tcp:21
---
AD : FTP-Rule-2
Ag : Default
Öncelik : 1000
Yön : Giriş
Eylem : İzin Ver
Hedefler : Ağdaki tüm örnekler
Kaynak filt : IP Aralıkları
IP Aralık : 0.0.0.0/0
Protokoller : tcp:20
---
AD : FTP-Rule-TSL
Ag : Default
Öncelik : 1000
Yön : Giriş
Eylem : İzin Ver
Hedefler : Ağdaki tüm örnekler
Kaynak filt : IP Aralıkları
IP Aralık : 0.0.0.0/0
Protokoller : tcp:990
---
AD : FTP-Rule-PassivePorts
Ag : Default
Öncelik : 1000
Yön : Giriş
Eylem : İzin Ver
Hedefler : Ağdaki tüm örnekler
Kaynak filt : IP Aralıkları
IP Aralık : 0.0.0.0/0
Protokoller : tcp:40000-50000
---
ADIM 7 - FTP Giriş Kontrolü
Hızlıca ftp kontrolü yapmak için komut satırından ftp komutunu kullanabiliriz.
Buradaki girişte herhangi bir sorun yoksa, Filezilla vb ftp programlarından da giriş yapabilirsiniz.
# Google Cloud üzerinden aldığımız public IP adres girilecek
$ ftp -p <ip_address>
Connected to <ip_address>.
220 (vsFTPd 3.0.3)
# FTP kullanıcı adı girilecek
Name (<ip_address>:serhat): serhat
331 Please specify the password.
# Parola giriyoruz
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
# ls ile dosyaları listeliyoruz.# Burada bir sorun varsa Passive Mode ayalarları kontrol edilmelidir.
ftp> ls
227 Entering Passive Mode (35,227,17,158,175,27).
150 Here comes the directory listing.
drwxr-xr-x 2 1002 1003 4096 May 08 14:14 files
226 Directory send OK.
# Çıkış yapıyoruz.
ftp> bye
221 Goodbye.