Pure-ftpd ftp programıdır.
aptitude install pure-ftpd
vim /etc/default/pure-ftpd-common STANDALONE_OR_INETD=standalone
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
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
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
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)
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
mkdir /home/ftpdata/kullanici2 chown emrah: /home/ftpdata/kullanici2 pure-pw useradd kullanici2 -u emrah -d /home/ftpdata/kullanici2 pure-pw mkdb
pure-pw passwd kullanici1 pure-pw mkdb
pure-pw userdel kullanici1 pure-pw mkdb
pure-pw list
pure-pw show kullanici1
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:
Bu yapılmazsa bazı yerellerde problem çıkarıyor. En iyisi sistem dilinin 'en_US.UTF-8' yapılması.
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 | +------+---------+-------+------+-------------------------------------------+
+------+---------+-------+------+-------------------------------------------+ | 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 | +------+---------+-------+------+-------------------------------------------+
Yorumlar