Instalare Pure-FTPd pe Ubuntu 24.04

Configurare noua (How To)

Situatie

Pure-FTPd este un software gratuit, open-source, pentru servere FTP, disponibil pentru Ubuntu și alte distribuții Linux. Conceput cu accent pe securitate, performanță și ușurință în utilizare, Pure-FTPd oferă funcții robuste, cum ar fi suport pentru utilizatori virtuali, conexiuni criptate folosind TLS/SSL și diverse mecanisme de autentificare. De asemenea, oferă funcții precum limitarea lățimii de bandă,restricționarea permisiunilor utilizatorilor și activarea accesului FTP anonim. Pure-FTPd este adesea ales pentru simplitatea sa în configurare în comparație cu alte servere FTP, ceea ce îl face o alegere populară atât pentru implementări mici, cât și pentru cele la scară largă pe sistemele Ubuntu.

Protocolul de transfer de fișiere (FTP) este un protocol de rețea standard utilizat pentru transferul de fișiere între un client și un server printr-o rețea, cum ar fi internetul. Dezvoltat la începutul anilor 1970, FTP permite utilizatorilor să încarce, să descarce și să gestioneze fișiere pe un server la distanță. Acesta funcționează folosind două canale: un canal de comandă pentru controlul conexiunii și un canal de date pentru transferul de fișiere.

Cerințe preliminare pentru instalarea Pure-FTPd

Înainte de a continua instalarea, asigurați-vă că aveți:

  • Configurarea unui server Ubuntu
  • Accesul la un cont de utilizator cu sudoprivilegii

Instalarea pas cu pas a Pure-FTPd

Actualizarea pachetelor de sistem

Mai întâi, actualizați lista de pachete a sistemului:

sudo apt update

Instalarea Pure-FTPd

Apoi, instalați Pure-FTPd folosind următoarea comandă:

sudo apt install pure-ftpd

Configurarea Pure-FTPd pentru securitate îmbunătățită

Configurarea unui mediu securizat

Creați un grup dedicat utilizatorilor FTP:

sudo groupadd ftpgroup

Creați un utilizator pentru Pure-FTPd:

sudo useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Gestionarea accesului utilizatorilor

Pentru a adăuga un utilizator la serverul FTP:

sudo pure-pw useradd [username] -u ftpuser -g ftpgroup -d /home/ftpusers/[username]
sudo pure-pw mkdb

Înlocuiți [username]cu numele de utilizator dorit.

Configurarea TLS pentru transfer securizat de date

Generați un certificat autosemnat:

sudo openssl req -x509 -nodes -days 730 -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

Modificați configurația Pure-FTPd pentru a activa TLS:

echo 1 | sudo tee /etc/pure-ftpd/conf/TLS
sudo service pure-ftpd restart

Opțiuni avansate de configurare

Iată o listă de setări comune care pot fi configurate pentru Pure-FTPd în directorul /etc/pure-ftpd/conf/ pe Ubuntu. Numele fișierului de configurare este scris cu caractere aldine.

  • AltLog : Specifică metode alternative de înregistrare în jurnal. De exemplu, AltLog clf:/var/log/pureftpd.log va înregistra transferurile în format W3C.
  • AnonymousOnly : Când este activată (prin crearea unui fișier numit AnonymousOnly), restricționează serverul să permită doar conectări anonime.
  • AntiWarez : Dacă acest fișier există, utilizatorilor le este interzis să încarce fișiere care există deja pe server.
  • Redenumire automată : Redenumește automat fișierele încărcate dacă există un fișier cu același nume.
  • Bind : Leagă serverul la o anumită adresă IP și un port. De exemplu, Bind 21 se leagă la portul 21 pe toate adresele disponibile.
  • BrokenClientsCompatibility : Permite compatibilitatea cu clienții FTP care nu respectă strict standardele FTP.
  • ChrootEveryone : Dacă este activat, restricționează toți utilizatorii la directorul lor principal.
  • CreateHomeDir : Creează automat directoarele principale dacă acestea nu există atunci când un utilizator se conectează.
  • Rezistență la clienți : Crește rezistența împotriva greșelilor frecvente făcute în configurațiile și comenzile clientului.
  • Daemonizare : Când acest fișier există, Pure-FTPd va rula ca un daemon.
  • DisplayDotFiles : Controlează dacă fișierele cu puncte (fișiere ascunse) sunt afișate sau nu.
  • DontResolve : Împiedică rezoluția DNS pentru înregistrarea în jurnal și controlul lățimii de bandă, ceea ce poate îmbunătăți performanța.
  • ExtAuth : Specifică un program extern pentru autentificarea utilizatorului.
  • ForcePassiveIP : Forțează serverul să raporteze o anumită adresă IP clienților în mod pasiv.
  • FSCharset : Setează setul de caractere al sistemului de fișiere, util pentru numele de fișiere non-ASCII.
  • IPv4Only sau IPv6Only : Restricționează serverul să asculte doar adresele IPv4 sau IPv6.
  • KeepAllFiles : Previne ștergerea oricăror fișiere de pe server.
  • LDAPConfigFile : Specifică calea către fișierul de configurare LDAP pentru autentificare.
  • LimitRecursion : Limitează adâncimea recursivității și numărul de fișiere afișate în listele de directoare.
  • MaxClientsNumber : Limitează numărul maxim de clienți simultani.
  • MaxClientsPerIP : Restricționează numărul de conexiuni simultane de la o singură adresă IP.
  • MaxDiskUsage : Limitează procentul de utilizare a discului.
  • MaxIdleTime : Setează timpul maxim de inactivitate în minute înainte de deconectarea unui client.
  • MaxLoad : Deconectează clienții sau refuză conexiuni noi peste o anumită sarcină de sistem.
  • MinUID : Setează UID-ul minim pentru autentificare. Utilizatorii cu un UID mai mic nu se pot autentifica.
  • MySQLConfigFile : Specifică calea către fișierul de configurare MySQL pentru autentificarea bazată pe baze de date.
  • NoAnonymous : Dezactivează autentificările anonime dacă acest fișier există.
  • NoChmod : Dezactivează comanda CHMOD pe server.
  • NoRename : Împiedică utilizatorii să redenumească fișierele.
  • PassivePortRange : Definește un interval de porturi pentru conexiuni pasive (de exemplu, 30000 35000).
  • PerUserLimits : Setează limite pentru fiecare utilizator în parte.
  • PureDB : Specifică calea către fișierul bazei de date de utilizatori PureDB.
  • Cotă : Setează limitele cotei pentru utilizatori.
  • SyslogFacility : Definește facilitatea syslog pentru înregistrare în jurnal.
  • TLSCipherSuite : Specifică cifrurile TLS permise pentru conexiunile criptate.
  • TrustedGID : Specifică o listă de ID-uri de grup de încredere pentru autentificare.
  • UMask : Setează umaska ​​implicită pentru crearea fișierelor.
  • UnixAuthentication : Activează autentificarea în baza de date de parole UNIX.
  • UploadScript : Specifică un script care va fi rulat după o încărcare reușită.

Această listă acoperă cele mai utilizate opțiuni de configurare, dar nu este exhaustivă. Consultați întotdeauna documentația oficială Pure-FTPd sau utilizați

pure-ftpd-wrapper --help

comandă pentru cele mai precise și complete informații.

Exemple

Iată o listă de setări Pure-FTPd în /etc/pure-ftpd/conf/ cu exemple pentru a ilustra tipurile de valori pe care le acceptă:

  • AltLog :AltLog clf:/var/log/pureftpd.log
    • Exemplu:clf:/var/log/pureftpd.log
  • AnonymousOnly : Activați prin crearea unui fișier numit AnonymousOnly.
    • Nu este nevoie de valoare.
  • AntiWarez : Activați prin crearea unui fișier numit AntiWarez.
    • Nu este nevoie de valoare.
  • Redenumire automată : Activați prin crearea unui fișier numit AutoRename.
    • Nu este nevoie de valoare.
  • Legătură :Bind 21
    • Exemplu:192.168.0.1,21
  • BrokenClientsCompatibility : Activați prin crearea unui fișier numit BrokenClientsCompatibility.
    • Nu este nevoie de valoare.
  • ChrootEveryone : Activați prin crearea unui fișier numit ChrootEveryone.
    • Nu este nevoie de valoare.
  • CreateHomeDir : Activare prin crearea unui fișier numit CreateHomeDir.
    • Nu este nevoie de valoare.
  • CustomerProof : Activați prin crearea unui fișier numit CustomerProof.
    • Nu este nevoie de valoare.
  • Daemonizare : Activați prin crearea unui fișier numit Daemonize.
    • Nu este nevoie de valoare.
  • DisplayDotFiles : Activați prin crearea unui fișier numit DisplayDotFiles.
    • Nu este nevoie de valoare.
  • DontResolve : Activați prin crearea unui fișier numit DontResolve.
    • Nu este nevoie de valoare.
  • ExtAuth :ExtAuth /path/to/authenticator
    • Exemplu:/usr/local/bin/myauth
  • ForcePassiveIP :ForcePassiveIP 192.168.0.1
    • Exemplu:192.168.0.1
  • Set de caractere FSCharset :FSCharset utf-8
    • Exemplu:utf-8
  • IPv4Only sau IPv6Only : Activați prin crearea unui fișier numit IPv4Onlysau IPv6Only.
    • Nu este nevoie de valoare.
  • KeepAllFiles : Activați prin crearea unui fișier numit KeepAllFiles.
    • Nu este nevoie de valoare.
  • Fișier de configurare LDAP :LDAPConfigFile /etc/pure-ftpd/ldap.conf
    • Exemplu:/etc/pure-ftpd/ldap.conf
  • LimitRecursivitate :LimitRecursion 10000 8
    • Exemplu: 10000 8(10000 de fișiere, 8 niveluri de adâncime)
  • Număr maxim de clienți :MaxClientsNumber 50
    • Exemplu:50
  • CliențiMaximiPerIP :MaxClientsPerIP 8
    • Exemplu:8
  • UtilizareMaxDisk :MaxDiskUsage 95
    • Exemplu: 95(95%)
  • Timp maxim de inactivitate :MaxIdleTime 15
    • Exemplu: 15(15 minute)
  • Încărcare maximă :MaxLoad 4.0
    • Exemplu:4.0
  • UID minim :MinUID 1000
    • Exemplu:1000
  • Fișier de configurare MySQL :MySQLConfigFile /etc/pure-ftpd/mysql.conf
    • Exemplu:/etc/pure-ftpd/mysql.conf
  • NoAnonymous : Activați prin crearea unui fișier numit NoAnonymous.
    • Nu este nevoie de valoare.
  • NoChmod : Activați prin crearea unui fișier numit NoChmod.
    • Nu este nevoie de valoare.
  • NoRename : Activați prin crearea unui fișier numit NoRename.
    • Nu este nevoie de valoare.
  • IntervalPortPasiv :PassivePortRange 30000 35000
    • Exemplu:30000 35000
  • Limite per utilizator :PerUserLimits 8
    • Exemplu: 8(8 conexiuni simultane per utilizator)
  • PureDB :PureDB /etc/pure-ftpd/pureftpd.pdb
    • Exemplu:/etc/pure-ftpd/pureftpd.pdb
  • Cotă :Quota 1000M
    • Exemplu: 1000M(1000 megaocteți)
  • Facilitatea Syslog :SyslogFacility ftp
    • Exemplu:ftp
  • TLSCipherSuite :TLSCipherSuite HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
    • Exemplu:HIGH:MEDIUM:+TLSv1:!SSLv2:+SSLv3
  • IDG de încredere :TrustedGID 1000
    • Exemplu:1000
  • Mască U :UMask 133:022
    • Exemplu: 133:022(Fișiere: 133, Directoare: 022)
  • UnixAuthentication : Activați prin crearea unui fișier numit UnixAuthentication.
    • Nu este nevoie de valoare.
  • ÎncărcareScript :UploadScript /path/to/script
    • Exemplu:/usr/local/bin/uploadscript

Aceste exemple ar trebui să clarifice modul de configurare a diverselor opțiuni în Pure-FTPd.

Monitorizare și întreținere

Verificați periodic jurnalele /var/log/pure-ftpd/pentru a depista orice activități neobișnuite sau erori.

Solutie

Tip solutie

Permanent

Voteaza

(0 din 0 persoane apreciaza acest articol)

Despre Autor

Leave A Comment?