FreeBSD Üzerine ProFTPD kurulum  ve Konfigürasyonu

 

      Proftpd, Apache benzeri yapılandırma dosyası ile oldukça zengin konfigürasyon seçenekleri sunan ve güvenliği ile kendisi ispatlamıs,pam, mysql ldap onaylama seçenekleri ile çalışabilen harika bir FTP sunucusu,dökümantasyonu incelinirse oldukça esnek bir yapılandırma sunduğu görülebilir.

Freebsd üzerinde bu sunucunun kurulumu ve bazı basit yapılandırmalarını inceleyeceğiz.Anonim kullancılar için erişim izni verilmemiştir,Anonim kullanıcılar için erişim sağlayabilmek için gerekli düzenlemelerin yapılması gerekmektedir.

 

Komutlar için freebsd

Değişkenler için freebsd

Benim yapılandırma dosyamdan örnek değişkenler  için  freebsd ; şeklinde bir reklendirme font ayarı kullandım.

Kurulum;

 

Halihazırda bir internet bağlantınızın olduğunu varsayıyorum;

bash-2.05b# cd /usr/ports/ftp/proftpd/

bash-2.05b# make install clean

Makinemiz gerekli paketleri indirip kurduktan sonra /usr/local/etc/proftpd.conf.default dosyasını oluşturacaktır,bu dosyayı aynı dizinde proftpd.conf olarak kaydedelim

bash-2.05b# cd /usr/local/etc/

bash-2.05b# cp proftpd.conf.default proftpd.conf

bash-2.05b# ls -l proftpd.conf

-r--r--r--  1 root  wheel  2368  2 Þub 18:42 proftpd.conf

 

    Görüldüğü üzere proftpd.conf dosyası readonly(saltokunur) bir dosyadır ,isterseniz root kullanıcısı icin yazma hakkı verin isterseniz kullandığınız editörin özelliklerini kullanın ben VI editörünü kullandığım için herhangi bir sorunla karşılaşmadım(dosyada değişiklik yaptıktan sonra :w! parametresini kullanarak).

Şimdi proftpd.conf dosyasında önemli bazı  değişkenleri inceleyelim ve uygun değerlerini belirleyelim.Herhangi bir editörle proftpd.conf dosyasını açın ve aşağıda belirttiğim değişkenleri kendi gereksinimlerinize göre değiştirin.

 

ServerName  " "

 Buraya FTP sunucunuz hakkında bilgilendirici birşeyler yazabilirsiniz.

 

ServerName "Kocaeli *BSD Kullanıcıları Grubu FTP sitesi"

 

ServerType

 Sunucumuzun nasıl çalışacağını belirler inetd ya da standalone(kendi başına) olabilir biz standalone olarak kullanacağız

ServerType              standalone

 

DefaultServer                  

DefaultServer                   on

 

Port 

 Ftp sunucumuzu hangi porttan hizmete açacağımızı belirleyebiliriz                        

Port                            21

 

MaxInstances        

   Eşzamanlı olarak kaç kullnıcının ftp sunucumuzu kullanabileceğini belirtir,Kendi durumunuza göre belirleyiniz.

MaxInstances                    10

 

DefaultRoot  ~

  Bu değişkenle ftp sunucumuzu kullanan kullanıcıların sadece kendilerine ait olan dizinleri(home dizinleri)görebilmesini sağlıyoruz ,bir nevi kafese alma işlemi gerçekleştiriyoruz,bu şekilde bir parametre koymazsak kullanıcılar okuma izinleri olduğu heryeri okuyabilirler!

 

ScoreBoardFile

ScoreBoardFile /var/run/proftpd.scoreboard

 

RequireValidShell

  Bu değişkenle sisteme girecek kullanıcılar için /etc/shells dosyasında belirtilen kabuklardan birinin belirtilmiş olma zorunluluğu ortadan kalkıyor

RequireValidShell               off

 

IdentLookups                   

 Proftpd ye bir istek geldiginde istemcinin kimliğini belirlemeye çalışmamasını bildiriyoruz.

IdentLookups                    off

 

 Proftpd'nin buraya sığdıramayacağımız kadar fazla özelliği var ve daha da güzeli bu özelliklerini cok iyi bir şekilde  açıklayan dökümantasyonu var.Dökümantasyonuna  http://www.proftpd.org/docs/ adresinden ulaşabilirsiniz.Ayarlarımızı bitirip ,dosyayı kaydettikten sonra /usr/local/libexec/proftpd komutu ile sunucumuzu başlatabiliriz,

 

bash-2.05b# /usr/local/libexec/proftpd

  FTP deamonumuzun her açılışta otomatik başlaması için

/etc/rc.conf dosyasına aşağıdaki satırları ekleyelim

proftpd_enable="YES"

 

Ortaya çıkabilecek Olası hatalar ve çözüm yolları

1) 192.168.0.1 - error: unable to open scoreboard: No such file or directory şeklinde hata alıyorum nerde yanlış yaptım?

 

Hatada belirttiği gibi scoreboard dosyasını bulamıyor,/usr/local/etc/proftp.conf dosyasındaki ScoreBoard değişkenini kontrol ediniz,yoksa aşağıdaki bir değişken yazınız ve belirtilen dosyayı belirtilen dizinde oluşturun.

ScoreboardFile /var/run/proftpd.scoreboard

 

bash-2.05b# touch /var/run/proftpd.scoreboard