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.
1. Mai întâi trebuie să instalăm Pure FTPd:
apt-get install pure-ftpd
Ieșirea se va termina cu ceva de genul:
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.
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:
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!
Gata... Documentatie in caz de erori 😀
Ș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.
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.
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.
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 };)
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 :)
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
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
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
Sunteți invitat să publicați un ghid mai puțin „dezgustător”.. 😉
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.
Link-ul pentru pure-ftpd.conf este oprit sau nu există. Îl poți restaura?
Mulţumiri
2 ani mai târziu, linkul pentru fișierul pure-ftpd.conf este încă oprit 🙁