Kako instalirati i konfigurirati FTP poslužitelj s Pure-FTPd + virtualnim korisnicima

Ja sam jedan od onih koji vole inovirati i učiti nove stvari, ne tako davno morao sam instalirati i konfigurirati FTP poslužitelj i odlučio sam to učiniti drugačije nego uvijek.

U ovom slučaju sam se odlučio za FTP uslugu s virtualnim korisnicima, korisnicima koji će biti pohranjeni u šifriranoj datoteci (korisničko ime, lozinka, postavke itd.), sve s Pure FTPd-om.

Ovdje ću vam pokazati kako to učiniti… pa, počnimo 

Prije svega navedite da su naredbe u ovom vodiču namijenjene distribucijama poput Debiana ili se temelje na njima, no ako netko koristi drugi distro na svom poslužitelju, mora instalirati iste pakete i koristiti postavke postavljene u nastavku, jedino što treba change je naredba install.

Sve naredbe koje će pročitati izvršit će se kao root, ako želite, možete dodati "sudo" u svaki redak.

1. Prvo moramo instalirati Pure FTPd:

apt-get install pure-ftpd

Izlaz će završiti otprilike ovako:

install-pure-ftpd

2. Usluga je već aktivirana, ali je beskorisna ako je nismo pravilno konfigurirali. Recimo da imamo dugu, ali gotovo standardnu ​​konfiguracijsku datoteku; ona sadrži uobičajene stvari, uspostavljanje da anonimni korisnici nisu dopušteni itd.

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

3. U redu, pretpostavimo da je naša FTP mapa /var/www/ftp/ i želimo stvoriti korisnika koji može prenositi podatke u mapu /var/www/ftp/sysadmin/. Stavimo sljedeće u terminal:

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

To znači sljedeće:

pure-pw: Naredba koja se koristi za manipulaciju korisnicima Pure-FTPd
useradd: Naznačujemo da ćemo dodati korisnika
sysadmin: Korisnik kojeg želim stvoriti
-u 2001: UserID tog korisnika
-g 2001: ID grupe tog korisnika
-d / var / www / ftp / sysadmin /: Mapa koja će biti dom tog korisnika, odnosno tamo gdje će prenositi stvari

Kada uđete u prethodni redak, tražit će vas lozinku tog korisnika.

Morali su prethodno stvoriti mapu sysadmin unutar / var / www / ftp /

4. Sada trebate osvježiti datoteku korisničke baze podataka. Da biste to učinili, idite u mapu /etc/pure-ftpd/ (cd /etc/pure-ftpd) i u terminal upišite sljedeće:

pure-pw mkdb

5. Sada moramo pokrenuti Pure-FTPd, ali uz navođenje da ćemo koristiti datoteku virtualnih korisnika. Prvo, zaustavimo uslugu:

/etc/init.d/pure-ftpd stop

Tada ćemo se pobrinuti da se uobičajeno ne započne:

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

A sada uslugu započinjemo na naš način:

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

6. Ako pokušate koristiti aplikaciju poput FileZille, vidjet ćete da se možete bez problema povezati s kreiranim korisnikom; međutim, nećete moći ništa kopirati ili stvarati direktorije. To je zato što mapa /var/www/ftp/sysadmin/ (korisnikov početni direktorij u ovom primjeru) nema odgovarajuća dopuštenja. To se može popraviti na sljedeći način:

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

Upamtite, Uid i Gid 2001 je korisnik kojeg smo stvorili, stvorili smo ga naredbom u prethodnom koraku 3 

7. Za zaustavljanje usluge jednostavno pritisnite [Ctrl]+[C] na istom terminalu ili na drugom terminalu učinite sljedeće:

killall pure-ftpd

Sada ćemo naznačiti da će se usluga automatski pokrenuti sa sustavom kad se poslužitelj pokrene, za to modificiramo datoteku /etc/rc.local i prije zadnjeg retka koji kaže "izlaz 0" stavimo naredbu kojom pokrećemo FTP usluga:

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

Drugim riječima, to bi izgledalo ovako:

rc-lokalno-čisto-ftpd

Datoteku možete urediti pomoću nano, vi ili željenog uređivača, ili ako želite, kopirajte i zalijepite ovu naredbu koja će vam olakšati rad:

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… kao što čitate, “facilitirati”, to je opsežna naredba da, ali jednostavno zamjenjuje tekst perlom i bezopasnom jekom 

8. Nakon što je to učinjeno, ponovno pokrenite poslužitelj i vidjet ćete da je usluga pure-ftpd sada pokrenuta i spremna za rad 

Kako izbrisati korisnike?

Kao što sam već spomenuo, naredba pure-pw nam je potrebna za manipuliranje korisnicima. Za brisanje korisnika (na primjer, sysadmin), koristili bismo sljedeće:

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

Imajte na umu da kad god napravite promjenu na korisniku, morate regenerirati datoteku virtualne baze podataka korisnika, ona se nalazi u / etc / pure-ftpd / i generira / ažurira s pure-pw mkdb

U svakom slučaju prijatelji, mislim da se nema puno više za dodati, pozivam vas da pročitate pomoć pure-pw jer nam omogućuje puno više od onih koje sam vam ovdje pokazao (ovo je samo kratka i gotovo osnovna lekcija).

Prije godinu-dvije sam bio jedan od onih koji su sve vezali na OpenLDAP ili MySQL, ali kako je vrijeme prolazilo shvatio sam da tolike veze s bazama podataka koje su serveri kao takvi generiraju potrošnju koju si često ne možemo priuštiti, stoga je korištenje potpuno održive alternative kao što je korištenje baza podataka u vlastitim datotekama aplikacije, kao u ovom slučaju Pure-FTPd .pdb 

Svaka sumnja ili pitanje pokušat ću pomoći koliko god mogu.

Pozdrav i ... sretno hakiranje!


Dodaj kao preferirani izvor na Googleu