Pure-ftpd Notları ----------------- - 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 "49152 65534" > /etc/pure-ftpd/conf/PassivePortRange . Router arkasında ise passive mode icin dış IP adresi echo "dis_IP" > /etc/pure-ftpd/conf/ForcePassiveIP . 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 . Listelenecek dosya adedi (default 10000) echo "20000 100" > /etc/pure-ftpd/conf/LimitRecursion . Unix kullanıcı hesapları ile FTP erişimini engelleme echo "no" > /etc/pure-ftpd/conf/UnixAuthentication . PAM ile FTP erişimini yasaklama echo "no" > /etc/pure-ftpd/conf/PAMAuthentication . www-data ve diğer sistem kullanıcı hesaplarının da FTP ile bağlanabilmesi için ... (www-data UID: 33) echo "33" > /etc/pure-ftpd/conf/MinUID . 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 : Organizational Unit Name : Common Name : Email Address : 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 /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 - IP kısıtlaması pure-pw usermod kullanici -r 10.0.0.0/8,212.22.33.22 - 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ı.