Trinn én - Installasjon
Trinn to - Konfigurasjon
Trinn tre - Opprett brukere
Trinn fire - TLS-støtte
Pure-FTPd er en rask og lett FTP-server bygget med sikkerhet i tankene. I denne opplæringen skal jeg vise deg hvordan du installerer og bruker Pure FTP i 4 enkle trinn. Denne guiden forklarer hvordan du installerer Pure FTPd på Debian 9.
Trinn én - Installasjon
Pure-FTPd er i Debians stabile depot, så det er ikke nødvendig å legge til noen ekstra depoter til systemet ditt.
Kjør følgende kommando med root-privilegier:
apt install -y pure-ftpd-common pure-ftpd
Trinn to - Konfigurasjon
Det er mange alternativer du kan bruke for å endre programmets virkemåte. Disse alternativene kan brukes på Pure-FTPds daemon ved oppstart, eller du kan gjøre dem vedvarende ved å lage de nødvendige filene inne i confkatalogen.
Vi vil:
- Opprett virtuelle brukere.
- Opprett hjemmekataloger for brukere automatisk.
- Begrens (
chroot) brukere til kun å ha tilgang til sin egen hjemmekatalog.
Aktiver Pure-FTPds database og deaktiver PAM- og Unix-autentisering for å aktivere virtuelle brukere:
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
Sett Pure-FTPd til å lage hjemmekataloger for brukere ved første pålogging:
echo "yes" > /etc/pure-ftpd/conf/CreateHomeDir
Chroot alle.
echo "yes" > /etc/pure-ftpd/conf/ChrootEveryone
Hvis du er interessert i å lære om andre alternativer, besøk den offisielle dokumentasjonssiden .
Trinn tre - Opprett brukere
Pure-FTPd kan håndtere virtuelle brukere, noe som betyr at de holdes i Pure-FTPds database og ikke er relatert til Linux-systembrukere.
For at Pure-FTPd skal administrere filer med virtuelle brukere, må vi opprette en Linux-bruker og -gruppe der alle virtuelle brukere vil være tilknyttet. Alle virtuelle brukere kan bruke samme systembruker og gruppe så lenge de har blitt chrootet.
Kjør følgende kommandoer for å opprette systembrukeren og gruppen:
groupadd ftpusr
useradd -g ftpusr -d /dev/null -s /etc ftpusr
Merk : Vi vil ikke at denne brukeren skal ha en hjemmekatalog eller påloggingsevne.
Lag vår FTP-rotkatalog:
mkdir /home/FTP
Opprett en virtuell bruker i Pure-FTPd:
pure-pw useradd alex -u ftpusr -g ftpusr -d /home/FTP/alex
Vi har lagt til vår første virtuelle bruker ( alex) og knyttet den til systembruker/-gruppe ( ftpusr). Alle filer du skriver med alexvil eies av ftpusrsystemet.
Oppdater Pure-FTPds database:
pure-pw mkdb
Sjekk brukerens informasjon:
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)
For å gjøre livet enklere, bruk følgende skript for å legge til FTP-kontoer:
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
Nå er det enkelt å lage FTP-kontoer:
ftp-createacc
Enter UserName: mike
Password:
Enter it again:
Trinn fire - TLS-støtte
Først må vi installere OpenSSL.
apt install -y openssl
Tving Pure-FTPd til å bruke TLS, eller vi kan gjøre det valgfritt, noe som betyr at både usikre og TLS-tilkoblinger aksepteres
# force TLS
echo 2 > /etc/pure-ftpd/conf/TLS
# insecure + TLS
echo 1 > /etc/pure-ftpd/conf/TLS
Opprett en katalog for å lagre nøklene våre.
mkdir -p /etc/ssl/pure-ftpd
Generer en buntnøkkel (privat nøkkel og offentlig nøkkel).
openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem
Start pure-ftpddemonen på nytt.
systemctl restart pure-ftpd
Hvis du har en brannmur installert på systemet ditt, eller serveren din er bak NAT, må du definere passive porter i Pure-FTPd og åpne disse portene i brannmuren din, ellers vil du få feil som disse:
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).
Angi passive porter i Pure-FTPd:
echo "40110 42210" > /etc/pure-ftpd/conf/PassivePortRange
Start pure-ftpdpå nytt for å bruke endringen.
systemctl restart pure-ftpd
I brannmuren åpner du det innkommende portområdet fra 40110 til 42210 , protokoll TCP.
FTP er usikkert av natur, men det er også raskt og enkelt å sette opp. For en sikrere løsning, bruk SFTP i stedet.