Prvi korak - instalacija
Drugi korak - Konfiguracija
Treći korak - Stvorite korisnike
Četvrti korak - TLS podrška
Pure-FTPd je brz i lagan FTP poslužitelj izgrađen sa sigurnošću na umu. U ovom vodiču pokazat ću vam kako instalirati i koristiti Pure FTP u 4 jednostavna koraka. Ovaj vodič objašnjava kako instalirati Pure FTPd na Debian 9.
Prvi korak - instalacija
Pure-FTPd je u Debianovom stabilnom repozitoriju, tako da nema potrebe za dodavanjem dodatnih spremišta vašem sustavu.
Pokrenite sljedeću naredbu s root privilegijama:
apt install -y pure-ftpd-common pure-ftpd
Drugi korak - Konfiguracija
Postoji mnogo opcija koje možete koristiti za promjenu ponašanja aplikacije. Ove opcije se mogu primijeniti na Pure-FTPd-ov daemon pri pokretanju ili ih možete učiniti postojanima stvaranjem potrebnih datoteka unutar confdirektorija.
Mi želimo:
- Stvorite virtualne korisnike.
- Automatski kreirajte kućne imenike za korisnike.
- Ograničite (
chroot) korisnike da imaju pristup samo svom vlastitom početnom imeniku.
Omogućite Pure-FTPd bazu podataka i onemogućite PAM i Unix autentifikaciju kako biste omogućili virtualne korisnike:
ln -s /etc/pure-ftpd/conf/PureDB /etc/pure-ftpd/auth/50pure
echo no > /etc/pure-ftpd/conf/PAMAuthentication
echo no > /etc/pure-ftpd/conf/UnixAuthentication
Postavite Pure-FTPd da kreira kućne imenike za korisnike pri njihovoj prvoj prijavi:
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
Chroot sve.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
Ako ste zainteresirani saznati više o drugim opcijama, posjetite stranicu službene dokumentacije .
Treći korak - Stvorite korisnike
Pure-FTPd može upravljati virtualnim korisnicima, što znači da se čuvaju u bazi podataka Pure-FTPd i nisu povezani s korisnicima Linux sustava.
Kako bi Pure-FTPd mogao upravljati datotekama s virtualnim korisnicima, moramo stvoriti Linux korisnika i grupu u koju će biti povezani svi virtualni korisnici. Svi virtualni korisnici mogu koristiti istog korisnika sustava i grupu sve dok su chroot.
Pokrenite sljedeće naredbe za stvaranje korisnika i grupe sustava:
groupadd ftpusr
useradd -g ftpusr -d /dev/null -s /etc ftpusr
Napomena : Ne želimo da ovaj korisnik ima kućni imenik ili mogućnost prijave.
Kreirajte naš FTP korijenski direktorij:
mkdir /home/FTP
Napravite virtualnog korisnika u Pure-FTPd:
pure-pw useradd alex -u ftpusr -g ftpusr -d /home/FTP/alex
Dodali smo našeg prvog virtualnog korisnika ( alex) i povezali ga s korisnikom/grupom sustava ( ftpusr). Sve datoteke s kojima pišete alexbit će u vlasništvu ftpusrsustava.
Ažurirajte bazu podataka Pure-FTPd:
pure-pw mkdb
Provjerite podatke o korisniku:
pure-pw show alex
Login : alex
Password : <encrypted password>
UID : 1000 (ftpusr)
GID : 1000 (ftpusr)
Directory : /home/FTP/alex/./
Full name :
Download bandwidth : 0 Kb (unlimited)
Upload bandwidth : 0 Kb (unlimited)
Max files : 0 (unlimited)
Max size : 0 Mb (unlimited)
Ratio : 0:0 (unlimited:unlimited)
Allowed local IPs :
Denied local IPs :
Allowed client IPs :
Denied client IPs :
Time restrictions : 0000-0000 (unlimited)
Max sim sessions : 0 (unlimited)
Da biste olakšali život, koristite sljedeću skriptu za dodavanje FTP računa:
echo -e '#!/bin/bash\nread -p "Enter UserName: " usrname\npure-pw useradd $usrname -u ftpusr -g ftpusr -d /home/FTP/$usrname && pure-pw mkdb' > /usr/sbin/ftp-createacc
chmod u+x /usr/sbin/ftp-createacc
Sada je stvaranje FTP računa jednostavno:
ftp-createacc
Enter UserName: mike
Password:
Enter it again:
Četvrti korak - TLS podrška
Prvo, moramo instalirati OpenSSL.
apt install -y openssl
Prisilite Pure-FTPd da koristi TLS ili ga možemo učiniti opcionalnim, što znači da se prihvaćaju i nesigurne i TLS veze
# force TLS
echo 2 > /etc/pure-ftpd/conf/TLS
# insecure + TLS
echo 1 > /etc/pure-ftpd/conf/TLS
Napravite imenik za pohranu naših ključeva.
mkdir -p /etc/ssl/pure-ftpd
Generirajte paketni ključ (privatni ključ i javni ključ).
openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Ponovno pokrenite pure-ftpddemon.
systemctl restart pure-ftpd
Ako imate instaliran vatrozid na vašem sustavu ili vaš poslužitelj stoji iza NAT-a, morate definirati pasivne portove u Pure-FTPd-u i otvoriti te portove u svom vatrozidu, inače ćete dobiti pogreške poput ovih:
Server sent passive reply with unroutable address. Passive mode failed.
Failed to retrieve directory listing.
500 I won't open a connection to 192.168.1.4 (only to 10.10.10.10).
Postavite pasivne portove u Pure-FTPd:
echo "40110 42210" > /etc/pure-ftpd/conf/PassivePortRange
Ponovo pokrenite pure-ftpdda biste primijenili promjenu.
systemctl restart pure-ftpd
U svom vatrozidu otvorite raspon ulaznih portova od 40110 do 42210 , protokol TCP.
FTP je po prirodi nesiguran, ali je također brz i jednostavan za postavljanje. Za sigurnije rješenje upotrijebite SFTP.