makaleler / Debian / Ubuntu / Pardus / Linux ftp kurulumu

Linux ftp kurulumu

12.09.2014 15:19:56

Pure-ftpd kurulumu ve yapılandırması nasıl yapılır? Pure-ftpd Ubuntu Debian

Pure-ftpd ftp programıdır.


Yükleme
        aptitude install pure-ftpd

Ayarlar
pure-ftpd'nin standalone çalışması için
        vim /etc/default/pure-ftpd-common
                STANDALONE_OR_INETD=standalone

pure-ftpd'nin inetd ile çalışması için
        aptitude install openbsd-inetd

        vim /etc/default/pure-ftpd-common
                STANDALONE_OR_INETD=inetd

Kullanıcının kendi klasörü dışına çıkmasını engellemek için


        echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone

Chroot aktif iken kendi klasörü altında olmayan klasörlere yapılmış sembolik linklerin de içeriğinin görünebilmesi için


        vim /etc/default/pure-ftpd-common
                VIRTUALCHROOT=true

        .Bağlanan kullanıcı için DNS sorgusu yapılmayacaksa
        echo "yes" > /etc/pure-ftpd/conf/DontResolve

        .Standart FTP portu değiştirilecekse
        echo "1021" > /etc/pure-ftpd/conf/Bind

        .Passive mode FTP portları için aralık tanımlama
        echo "40000 40100" > /etc/pure-ftpd/conf/PassivePortRange

        .Anonymous FTP erişimi olmayacaksa
        echo "yes" > /etc/pure-ftpd/conf/NoAnonymous

        .Nokta ile başlayan dosyalar (örneğin .htaccess) gösterilecekse
        echo "yes" > /etc/pure-ftpd/conf/DisplayDotFiles


Read-Only anonymous FTP erişimi olacaksa
        adduser --system --group ftp
        echo "no" > /etc/pure-ftpd/conf/NoAnonymous
        echo "no" > /etc/pure-ftpd/conf/AnonymousCanCreateDirs
        echo "yes" > /etc/pure-ftpd/conf/AnonymousCantUpload


Dosya yüklendiğinde bir scriptin otomatik çalıştırılması isteniyorsa
        echo "yes" > /etc/pure-ftpd/conf/CallUploadScript

        vim /etc/default/pure-ftpd-common
                UPLOADSCRIPT=/calisacak/scriptin/pathi
                UPLOADUID=1000
                LOADGID=1000

Scripti çalıştıracak kullanıcının UID ve GID numaraları yazılır.
"id kullanici" komutu ile ID bilgileri öğrenilebilir. Çalıştırılacak scripte, bu kullanıcı için çalıştırma hakkı verilmiş olması gerekmekte.


                $1              ile yüklenen dosyanın path'i gelir.
                $UPLOAD_VUSER   ile yüklemeyi yapan sanal kullanıcı adı gelir.
                $UPLOAD_SIZE
                $UPLOAD_PERMS
                $UPLOAD_UID
                $UPLOAD_GID
                $UPLOAD_USER
                $UPLOAD_GROUP


TLS ile SFTP desteği verilmesi. Şifreli trafik için
        aptitude install openssl
        cd /etc/ssl/private/
        openssl req -x509 -nodes -days 7300 -newkey rsa:2048 -keyout \
        /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
                Country Name             :TR
                State or Province Name   :Türkiye
                Locality Name            :<İl adı>
                Organization Name        :<Firma Adı>
                Organizational Unit Name :<Bölüm adı>
                Common Name              :<web adresi veya kişi adı>
                Email Address            :<email adresi>
        echo "1" > /etc/pure-ftpd/conf/TLS
                TLS 0 olursa: Sadece şifresiz trafiği destekler (FTP)
                TLS 1 olursa: Hem şifreli hem de şifresiz trafiği destekler
                TLS 2 olursa: Sadece şifreli trafiği destekler (SFTP)



Sanal kullanıcı işlemleri (pure-ftpd'nin kendi veritabanı ile)
İlk kullanıcıyı ekleme
                mkdir -p /home/ftpdata/kullanici1
                chown emrah: /home/ftpdata -R
                pure-pw useradd kullanici1 -u emrah -d /home/ftpdata/kullanici1
                pure-pw mkdb

                echo "/etc/pure-ftpd/pureftpd.pdb" > /etc/pure-ftpd/conf/PureDB
                #ln -s ../conf/PureDB /etc/pure-ftpd/auth/60puredb
                ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/60puredb                
                /etc/init.d/pure-ftpd restart


Yeni kullanıcılar ekleme
                mkdir /home/ftpdata/kullanici2
                chown emrah: /home/ftpdata/kullanici2
                pure-pw useradd kullanici2 -u emrah -d /home/ftpdata/kullanici2
                pure-pw mkdb


Kullanıcı parolası değiştirme
                pure-pw passwd kullanici1
                pure-pw mkdb


Kullanıcı silme
                pure-pw userdel kullanici1
                pure-pw mkdb


Kullanıcıları listeleme
                pure-pw list


Kullanıcı bilgisini görme
                pure-pw show kullanici1



Notlar

Sistem dili 'en_US.UTF-8' olsun. Eğer sistem dili bu değilse pure-ftpd'nin bu dili kullanması için '/etc/init.d/pure-ftpd' scriptinin 13. satırına şu eklensin:


LANG=en_US.UTF-8

Bu yapılmazsa bazı yerellerde problem çıkarıyor. En iyisi sistem dilinin 'en_US.UTF-8' yapılması.


Güncel yapılan işlemlerin izlenilmesi

0.97.7 versiyonundan yapılan işlemleri pure-ftpwho komutuyla izleyebilirsiniz.

Varsayılan çıktı aşağıdaki şekilde gözükür.


+------+---------+-------+------+-------------------------------------------+
| PID  |  Login  |For/Spd| What |                 File/IP                   |
+------+---------+-------+------+-------------------------------------------+
| 2239 | jedi    | 00:17 |  D/L | XFree86-clients-4.0.3.tar.gz              |
|  ''  |    ''   |  41K/s|  33% | ->                     nestea.funboard.de |
+------+---------+-------+------+-------------------------------------------+
| 2385 | ftp     | 00:02 | IDLE |                                           |
|  ''  |    ''   |       |      | ->                     gw2.crn.kjop.co.uk |
+------+---------+-------+------+-------------------------------------------+
  • D/L istemci tarafından yapılan download işlemini gösterir.
  • U/L istemci tarafından yapılan upload işlemini gösterir.
  • 41K/s bant genişliğini gösterir.
  • 33% gerçek zamanlı olarak işlemin tamamlanma oranını gösterir

pure-ftpwho komutu seçenekleri
  • '-c': bu parametre çıktıyı html formatında verir herhangi bir web sunucusuna örneğin apache gibi yönlendirilebilir.
  • '-h': parametresi komut satırı seçenekleri özeti yardım ekranı da diyebiliriz.
  • '-n': ana bilgisayar adlarını çözümlemez, sadece (hızlı olarak) IP adreslerini gösterir.
  • '-s': çıkışı kabuk betikleri kolayca çözümlenebilir biçim (ama çok kullanıcı dostu değildir). Bu seçenek çok okunabilir değildir fakat kolay ayrıştırma için tasarlanmıştır.
  • '-w': çıktı komple HTML formatındadır tam sayfa olarak (web).
  • '-W': Çıktı hiçbir başlık ve hiçbir altbilgiye yer vermeyecek şekilde HTML ouşturur. Bu parametre ile gömülü olarak CGI, SSI veya PHP komut satır araları için uygundur.
  • '-x': XML formatında çıktı verir. Zaman, saniye ve dosya boyutları kolay okunabilmesi için kullanılabilir.
  • '-v': Metin modunda ayrıntılı çıktı. Ek bilgi boyutunu içerir. Dosya yüklendi / indiriliyor, yerel IP veya yerel ana bilgisayar adı ve Bağlantı noktası. Bu sanal konaklar için özellikle yararlıdır. Aşağıda örnek '-v' çıktısıdır:

+------+---------+-------+------+-------------------------------------------+
| PID  |  Login  |For/Spd| What |     File/Remote IP/Size(Kb)/Local IP      |
+------+---------+-------+------+-------------------------------------------+
| 9086 | j       | 00:04 |  DL  | linux-2.4.4.tar.bz2                       |
|  ''  |    ''   |  22K/s|  27% | ->                              localhost |
|  ''  |    ''   |       |      | Total size:    20859 Transfered:     5632 |
|  ''  |    ''   |       |      | <-                        localhost:21    |
+------+---------+-------+------+-------------------------------------------+

yazar husonet

Yorumlar

Bu içerik için sizde yorum yapabilirsiniz!
anasayfa | makaleler | haberler | dosyalar | linkler | hakkımızda