Cum se instalează și se configurează un server FTP cu utilizatori virtuali Pure-FTPd +

Sunt unul dintre cei cărora le place să inoveze și să învețe lucruri noi.Nu cu mult timp în urmă a trebuit să instalez și să configurez un server FTP și am decis să o fac altfel decât am făcut-o întotdeauna.

În acest caz am optat pentru un serviciu FTP cu utilizatori virtuali, utilizatori care vor fi stocați într-un fișier criptat (nume utilizator, parolă, setări etc.), toate cu FTPd pur.

Aici vă voi arăta cum să o faceți... ei bine, să începem 😉

Mai întâi de toate, specificați că comenzile din acest tutorial sunt concepute pentru distribuții precum Debian sau bazate pe acestea, totuși, dacă cineva folosește o altă distribuție pe serverul său, trebuie să instaleze aceleași pachete și să folosească configurațiile enumerate mai jos, singurul lucru de care aveți nevoie. schimbare este comanda de instalare.

Toate comenzile pe care le veți citi vor fi executate ca root, dacă doriți, puteți adăuga „sudo” la fiecare linie.

1. Mai întâi trebuie să instalăm Pure FTPd:

apt-get install pure-ftpd

Ieșirea se va termina cu ceva de genul:

instalare-pure-ftpd

2. Serviciul este deja activat, dar nu ne folosește la nimic dacă nu l-am configurat corect, să punem un fișier de configurare extins dar aproape standard, conține ceea ce este normal, stabilind că utilizatorii anonimi nu au voie, etc etc.

cd /etc/pure-ftpd/ && wget http://ftp.desdelinux.net/pure-ftpd.conf

3. Ei bine, să presupunem că folderul nostru FTP este /var/www/ftp/ și vrem să creăm un utilizator care să poată încărca informații în folderul /var/www/ftp/sysadmin/, să punem următoarele într-un terminal:

pure-pw useradd sysadmin -u 2001 -g 2001 -d /var/www/ftp/sysadmin/

Aceasta înseamnă următoarele:

pure-pw: Comandă care ne ajută să manipulăm utilizatorii Pure-FTPd
useradd : Indicăm că vom adăuga un utilizator
sysadmin: utilizatorul pe care vreau să-l creez
-u 2001 : ID utilizator al acelui utilizator
-g 2001: ID grup al utilizatorului respectiv
-d /var/www/ftp/sysadmin/: folderul care va fi acasă al utilizatorului respectiv, adică unde va încărca lucrurile

Introducând linia anterioară, îți va cere parola utilizatorului respectiv.

Trebuie să fi creat anterior folderul sysadmin în /var/www/ftp/

4. Acum trebuie să reîmprospătați fișierul bazei de date a utilizatorului, pentru a face acest lucru, să intrăm în folderul /etc/pure-ftpd/ (cd /etc/pure-ftpd) și să punem în terminal:

pure-pw mkdb

5. Acum trebuie să pornim Pure-FTPd, dar indicând că vom folosi fișierul utilizatori virtuali, să oprim mai întâi serviciul:

/etc/init.d/pure-ftpd stop

Apoi ne vom asigura că nu va porni implicit în mod normal:

chmod -x /etc/init.d/pure-ftpd

Și acum începem serviciul în felul nostru:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

6. Dacă încerci să folosești o aplicație precum Filezilla vei vedea că te poți conecta fără probleme cu utilizatorul creat, totuși nu vei putea copia nimic sau crea directoare, asta pentru că folderul /var/www/ftp/sysadmin/ ( locuința utilizatorului conform exemplului) nu are permisiunile corespunzătoare, se va rezolva cu:

chown -R 2001:2001 /var/www/ftp/sysadmin/

Amintiți-vă, Uid and Gid 2001 este cel al utilizatorului pe care l-am creat, l-am creat cu comanda în pasul anterior 3 😉

7. Pentru a opri serviciul, apăsați pur și simplu [Ctrl]+[C] în același terminal sau în alt terminal, faceți:

killall pure-ftpd

Acum vom indica că serviciul va porni automat cu sistemul la pornirea serverului, pentru a face acest lucru modificăm fișierul /etc/rc.local și înainte de ultima linie care spune „exit 0” punem comanda cu care pornim. serviciul FTP:

/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb

Adică am rămâne așa:

rc-local-pur-ftpd

Puteți edita fișierul cu nano, vi sau editorul preferat sau, dacă preferați, copiați și lipiți această comandă care vă va ușura munca:

perl -pi -e "s[exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" /etc/rc.local && echo "exit 0" >> /etc/rc.local

…da da… așa cum citești, „facilitați”, este o comandă extinsă da, dar pur și simplu înlocuiește textul cu perl și un ecou inofensiv 🙂

8. Odată ce ați făcut acest lucru, reporniți serverul și veți vedea cum este pornit serviciul pur-ftpd și este gata să funcționeze 😀

Cum se șterg utilizatorii?

După cum v-am spus mai devreme, comanda pur-pw Acesta este ceea ce avem nevoie pentru a manipula utilizatorii, pentru a șterge un utilizator (de exemplu, sysadmin) să punem următoarele:

cd /etc/pure-ftpd/
pure-pw userdel sysadmin
pure-pw mkdb

Amintiți-vă că ori de câte ori faceți o modificare la un utilizator trebuie să regenerați fișierul baza de date virtuală al utilizatorilor, acesta se află în /etc/pure-ftpd/ și este generat/actualizat cu pure-pw mkdb

Oricum, prieteni, cred că nu mai sunt multe de adăugat, vă invit să citiți ajutorul pure-pw pentru că ne permite mult mai multe lucruri decât v-am arătat aici (acesta este doar un tutorial scurt și aproape de bază).

Acum un an sau doi eram unul dintre cei care legau totul la OpenLDAP sau MySQL, dar pe măsură ce trecea timpul mi-am dat seama că atât de multe conexiuni la baze de date care sunt servere ca atare generează un consum pe care de multe ori nu ne putem permite, prin urmare, utilizarea completă a alternative viabile, cum ar fi utilizarea bazelor de date în fișierele proprii ale aplicației, ca în acest caz de Pure-FTPd .pdb :)

Dacă aveți întrebări sau nelămuriri, voi încerca să vă ajut cât de mult pot.

Salutări și... hacking fericit!


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   plin de viață el a spus

    Gata... Documentatie in caz de erori 😀

    1.    KZKG ^ Gaara el a spus

      Și scriu deja postarea despre cum să instalez Nginx+MySQL+Spawn_FastCGI așa cum am făcut-o în Justiție, și datorită acestui lucru blogul funcționează atât de bine :)

      Sper să-l am gata până mâine sau poimâine.

  2.   Rodolfo el a spus

    Bun post; E amuzant, recent m-am chinuit sa imi configurez serverul ftp, nici nu am putut sa folosesc vsftpd si am trecut la pure-ftpd si ceea ce cred ca imi lipseste este sa dau un exemplu de conf, bineinteles ca documentatia este foarte bine, dar cel puțin elementele de bază. Criptare sau cel puțin redirecționare porturi dacă se folosește un router.
    Apropo, cu această comandă pure-ftpwho vă permite să știți cine este conectat la server și dacă descarcă ceva ;).
    Și, potrivit dvs., nu este atât de necesară punerea unei baze de date pentru a se conecta la server.

    1.    KZKG ^ Gaara el a spus

      Mulțumesc pentru comentariu 🙂

      Da intr-adevar, nu am reusit sa explic multe lucruri (de fapt totul) in configuratie, am presupus ca cineva care stie sa gestioneze un server, care vrea sa instaleze un serviciu FTP, ca cineva nu ar avea probleme majore sa citeasca comentariile din fișier conf ^-^

      Salutari si inca o data, multumesc pentru comentariu.

  3.   tahuri el a spus

    Bună, postarea este foarte bună, folosesc (sau cel puțin deocamdată) vsftpd dar am niște probleme cu el și am vrut să văd dacă pot trece la acesta, ai vreo adresă URL sau document pentru a vedea cum e configuratia este?

    Mulțumesc foarte mult };)

    1.    KZKG ^ Gaara el a spus

      Puteți vedea configurația aici: http://ftp.desdelinux.net/pure-ftpd.conf
      Daca ai intrebari sau daca ai nevoie de ceva, deschide un topic pe forum si te vom ajuta cu placere :)

  4.   Atheyus el a spus

    Foarte bine 😀

    Doar un lucru mic, comenzii din perl îi lipsește simbolul ^, astfel încât să nu schimbe cealaltă ieșire 0 care este în comentarii:

    perl -pi -e "s[^exit 0][/usr/sbin/pure-ftpd -j -lpuredb:/etc/pure-ftpd/pureftpd.pdb]g" rc.local && echo "exit 0" >> rc.local

    În ceea ce priveşte

  5.   Omar el a spus

    Excelent, am doar o întrebare, cum pot crea un utilizator numai pentru citire? Folosesc Centos 6.5, pureftpd, ispconfig și modul grafic.

    Eu folosesc doar ispconfig pentru ftp

    salutări și mulțumiri

  6.   muson el a spus

    Acest mod de a instala pureftp este YUCK 🙂 lăsați serviciul să ruleze ca root, creați un utilizator virtual și apoi schimbați permisiunile în sistemul de fișiere și ufff un lung etc. Modul în care este instalat pachetul este gata de utilizare, nu este nevoie să faceți toți acești pași

    1.    plin de viață el a spus

      Sunteți invitat să publicați un ghid mai puțin „dezgustător”.. 😉

    2.    sedlav el a spus

      Ce propui? Setați serverul ftp să asculte pe un port > 1024? Dacă serverul ftp ascultă pe portul său standard: 22, trebuie să fie rulat ca root dacă nu modificați capabilitățile kernelului.Dacă ceea ce doriți este să îmbunătățiți securitatea, utilizați un cadru MAC cu SELinux.O altă variantă ar fi jail/chroot serverul.ftp.

  7.   LlSastre el a spus

    Link-ul pentru pure-ftpd.conf este oprit sau nu există. Îl poți restaura?
    Mulţumiri

  8.   Atașamente el a spus

    2 ani mai târziu, linkul pentru fișierul pure-ftpd.conf este încă oprit 🙁