Sådan installeres og konfigureres en FTP-server med Pure-FTPd + virtuelle brugere

Jeg er en af ​​dem, der kan lide at innovere og opdage nye ting, for ikke længe siden skulle jeg installere og konfigurere en FTP-server, og jeg besluttede at gøre det anderledes, end jeg altid har gjort.

I dette tilfælde valgte jeg en FTP-tjeneste med virtuelle brugere, brugere, der vil blive gemt i en krypteret fil (brugernavn, adgangskode, indstillinger osv.), alle med ren ftpd.

Her vil jeg vise dig, hvordan du gør det... ok lad os komme i gang 😉

Først og fremmest skal du angive, at kommandoerne i denne vejledning er designet til distros som Debian eller baseret på dem, men hvis nogen bruger en anden distro på deres server, skal de installere de samme pakker og bruge indstillingerne nedenfor, det eneste de skal ændre er installationskommandoen.

Alle de kommandoer du vil læse vil blive udført som root, hvis du ønsker det kan du sætte "sudo" foran hver linje.

1. Først skal vi installere Pure FTPd:

apt-get install pure-ftpd

Det vil afslutte outputtet til noget som dette:

installation-ren-ftpd

2. Tjenesten er allerede aktiveret, men det nytter ikke noget for os, hvis vi ikke har konfigureret den korrekt, lad os lægge en omfattende konfigurationsfil, men den er næsten standard, den indeholder det normale, fastslår, at anonyme brugere ikke er tilladt, osv. osv.

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

3. Tja, antag, at vores FTP-mappe er /var/www/ftp/, og vi vil oprette en bruger, der kan uploade information til mappen /var/www/ftp/sysadmin/, lad os sætte følgende i en terminal:

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

Dette betyder følgende:

pure-pw : Kommando, der bruges til at manipulere Pure-FTPd-brugere
useradd : Vi angiver, at vi vil tilføje en bruger
sysadmin : Brugeren jeg vil oprette
-u 2001 : Bruger-ID for den pågældende bruger
-g 2001 : Gruppe-ID for denne bruger
-d /var/www/ftp/sysadmin/ : Den mappe, der vil være hjemmet for denne bruger, det vil sige, hvor de vil uploade ting

Når du sætter den forrige linje, vil den spørge dem om adgangskoden til den pågældende bruger.

De skal tidligere have oprettet sysadmin-mappen inde i /var/www/ftp/

4. Nu skal de opdatere brugerdatabasefilen, til dette går vi ind i /etc/pure-ftpd/-mappen (cd /etc/pure-ftpd) og sætter i terminalen:

pure-pw mkdb

5. Nu skal vi starte Pure-FTPd, men for at angive, at vi vil bruge den virtuelle brugerfil, lad os først stoppe tjenesten:

/etc/init.d/pure-ftpd stop

Så vil vi sørge for, at det ikke starter som standard normalt:

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

Og nu starter vi tjenesten på vores måde:

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

6. Hvis de prøver at bruge et program som Filezilla, vil de se, at de kan oprette forbindelse uden problemer med den oprettede bruger, men de vil ikke være i stand til at kopiere noget eller oprette mapper, det er fordi mappen /var/www/ftp/sysadmin/ (brugerens hjem ifølge eksemplet) ikke har de korrekte tilladelser, det vil blive rettet med en:

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

Husk, at Uid og Gid 2001 er brugeren, som vi oprettede, vi oprettede den med kommandoen i forrige trin 3 😉

7. For at stoppe tjenesten skal du blot trykke på [Ctrl]+[C] i den samme terminal eller i en anden terminal gør:

killall pure-ftpd

Nu vil vi indikere, at tjenesten starter automatisk med systemet, når serveren starter, til dette ændrer vi filen /etc/rc.local og før den sidste linje, der siger "exit 0", sætter vi kommandoen, som vi starter med FTP-tjeneste:

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

Med andre ord ville det se sådan ud:

rc-local-pure-ftpd

Du kan redigere filen med nano, vi eller din foretrukne editor, eller hvis du foretrækker det, kopier og indsæt denne kommando, der vil gøre dit job lettere:

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

... ja ja ... som du læser, "faciliter", det er en lang kommando ja, men det er simpelthen at erstatte tekst med perl og et harmløst ekko 🙂

8. Når dette er gjort, genstart serveren, og du vil se, hvordan pure-ftpd-tjenesten allerede er startet og klar til at arbejde 😀

Hvordan sletter man brugere?

Som jeg fortalte dig før, kommandoen ren-pw er det, vi skal bruge for at manipulere brugere, for at slette en bruger (for eksempel sysadmin) lad os sætte følgende:

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

Husk, at når du foretager en ændring af en bruger, skal du genskabe den virtuelle brugerdatabasefil, den er placeret i /etc/pure-ftpd/ og genereres/opdateres med pure-pw mkdb

Alligevel venner, jeg tror ikke, der er meget mere at tilføje, jeg inviterer dig til at læse pure-pw-hjælpen, fordi den giver os mange flere ting end det, jeg viste dig her (dette er kun en kort og næsten grundlæggende tutorial).

For et eller to år siden var jeg en af ​​dem, der linkede alt til OpenLDAP eller MySQL, men som tiden gik, indså jeg, at så mange forbindelser til databaser, der er servere som sådan, genererer forbrug, som vi mange gange ikke har råd til. brug af helt brugbare alternativer såsom at bruge databaser i applikationens egne filer, som det er tilfældet med .pdb-filerne i Pure-FTPd 🙂

Enhver tvivl eller spørgsmål vil jeg forsøge at hjælpe så meget jeg kan.

Hilsen og ... glad hacking!


Efterlad din kommentar

Din e-mailadresse vil ikke blive offentliggjort. Obligatoriske felter er markeret med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Control SPAM, management af kommentarer.
  3. Legitimering: Dit samtykke
  4. Kommunikation af dataene: Dataene vil ikke blive kommunikeret til tredjemand, undtagen ved juridisk forpligtelse.
  5. Datalagring: Database hostet af Occentus Networks (EU)
  6. Rettigheder: Du kan til enhver tid begrænse, gendanne og slette dine oplysninger.

  1.   Elav sagde han

    Det er det... Dokumentation i tilfælde af fejl 😀

    1.    KZKG ^ Gaara sagde han

      Og jeg er allerede ved at skrive indlægget om, hvordan man installerer Nginx+MySQL+Spawn_FastCGI, som jeg gjorde i Justice, og takket være det fungerer bloggen så godt 🙂

      Jeg håber at have den klar til i morgen eller i overmorgen.

  2.   Rodolfo sagde han

    Godt indlæg; Det er sjovt for nyligt, at jeg kæmpede for at sætte min ftp-server op, jeg kunne ikke engang bruge vsftpd og jeg skiftede til pure-ftpd og nu, hvad jeg synes, jeg mangler, er at give et eksempel på conf, selvfølgelig er dokumentationen meget godt, men i det mindste det grundlæggende. Kryptering, eller i det mindste portvideresendelsen, hvis der bruges en router.
    Forresten med denne kommando, lader pure-ftp som dig vide, hvem der er forbundet til serveren, og om de downloader noget ;).
    Og ifølge dig er det ikke så nødvendigt at sætte en database til at oprette forbindelse til serveren.

    1.    KZKG ^ Gaara sagde han

      Tak for kommentaren 🙂

      Ja faktisk, jeg undlod at forklare mange ting (faktisk alt) i konfigurationen, det er, at jeg antog, at en, der ved, hvordan man administrerer en server, som ønsker at installere en FTP-tjeneste, at nogen ikke ville have store problemer med at læse kommentarerne til conf-filen ^-^

      Hilsen og igen tak for kommentaren

  3.   tahuri sagde han

    Hej, indlægget er meget godt, jeg bruger (eller i det mindste for nu) vsftpd, men jeg har nogle problemer med det, og jeg ville se, om jeg gik til denne, har du en url eller et dokument for at se, hvordan det er konfigureret?

    Mange tak };)

    1.    KZKG ^ Gaara sagde han

      Du kan se konfigurationen her: http://ftp.desdelinux.net/pure-ftpd.conf
      Hvis du har spørgsmål eller har brug for noget, så åbn en tråd i forummet, så hjælper vi dig gerne 🙂

  4.   Atheyus sagde han

    Meget god 😀

    Bare en lille ting, perl-kommandoen mangler ^-symbolet, så det ændrer ikke den anden udgang 0, der er i kommentarerne:

    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

    hilsen

  5.   Omar sagde han

    Fremragende, jeg har bare et spørgsmål, hvordan kan jeg oprette en skrivebeskyttet bruger? Jeg bruger Centos 6.5, pureftpd, ispconfig og grafisk tilstand.

    Jeg bruger kun ispconfig til ftp

    saludos y gracias

  6.   Monsun sagde han

    Denne måde at installere pureftp på er ASCO 🙂 du lader tjenesten køre som root, opretter en virtuel bruger og ændrer derefter tilladelserne i filsystemet, og ufff en lang osv. Den måde, pakken er installeret på, er den klar til brug, der er ingen grund til at udføre alle disse trin

    1.    Elav sagde han

      Du er inviteret til at udgive en mindre "grov" guide.. 😉

    2.    sedlav sagde han

      Hvad foreslår du? Sætte ftp-serveren til at lytte på en port > 1024? Hvis ftp-serveren lytter på dens standardport: 22 bør den køre som root, medmindre du ændrer kernefunktionerne, hvis du vil forbedre sikkerheden, så brug en MAC-ramme med SELinux en anden variant ville være at jail/chroot serveren ftp.

  7.   Llskrædder sagde han

    Linket til pure-ftpd.conf er nede eller eksisterer ikke. Kan du gendanne den?
    Tak

  8.   Vedhæftede filer sagde han

    2 år senere er linket til pure-ftpd.conf-filen stadig nede 🙁