Hvordan installere og konfigurere en FTP-server med Pure-FTPd + virtuelle brukere

Jeg er en av dem som liker å innovere og lære nye ting, for ikke lenge siden måtte jeg installere og konfigurere en FTP-server, og jeg bestemte meg for å gjøre det annerledes enn jeg alltid gjorde.

I dette tilfellet valgte jeg en FTP-tjeneste med virtuelle brukere, brukere som vil bli lagret i en kryptert fil (bruker, passord, innstillinger osv.), Alle med Ren FTPd.

Her vil jeg vise deg hvordan du gjør det ... vel, la oss komme i gang 😉

Først av alt, spesifiser at kommandoene i denne opplæringen er ment for distros som Debian eller basert på dem, men hvis noen bruker en annen distro på serveren sin, må de installere de samme pakkene og bruke innstillingene nedenfor, det eneste som må endres er installasjonskommandoen.

Alle kommandoene de vil lese vil bli utført som root. Hvis du ønsker det, kan du legge "sudo" til hver linje.

1. Først må vi installere Pure FTPd:

apt-get install pure-ftpd

Utgangen vil slutte omtrent slik:

installere-ren-ftpd

2. Tjenesten er allerede aktivert, men den er ubrukelig hvis vi ikke har konfigurert den riktig, la oss sette en omfattende konfigurasjonsfil, men nesten standard, den inneholder det normale, og fastslår at anonyme brukere ikke er tillatt, etc. etc.

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

3. Anta at FTP-mappen vår er / var / www / ftp / og vi vil opprette en bruker som kan laste opp informasjon til / var / www / ftp / sysadmin / mappen, la oss sette følgende i en terminal:

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

Dette betyr følgende:

pure-pw: Kommando som brukes til å manipulere Pure-FTPd-brukere
useradd: Vi indikerer at vi vil legge til en bruker
sysadmin: Brukeren jeg vil opprette
-u 2001: UserID for den brukeren
-g 2001: GroupID for den brukeren
-d / var / www / ftp / sysadmin /: Mappen som skal være hjemmet til den brukeren, det vil si hvor de vil laste opp ting

Når du går inn på forrige linje, vil den be deg om passordet til brukeren.

De må ha opprettet sysadmin-mappen tidligere i / var / www / ftp /

4. Nå må de oppdatere brukerdatabasefilen, for dette går vi inn i mappen / etc / pure-ftpd / (cd / etc / pure-ftpd) og legger i terminalen:

pure-pw mkdb

5. Nå må vi starte Pure-FTPd, men indikerer at vi vil bruke filen for virtuelle brukere, la oss først stoppe tjenesten:

/etc/init.d/pure-ftpd stop

Så vil vi sørge for at den ikke starter som standard:

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

Og nå starter vi tjenesten på vår måte:

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

6. Hvis de prøver å bruke et program som Filezilla, vil de se at de kan koble til uten problemer med den opprettede brukeren, men de vil ikke være i stand til å kopiere noe eller opprette kataloger. Dette er fordi / var / www / ftp / sysadmin / mappen (brukerens hjem som i eksemplet) ikke har de riktige tillatelsene, blir det løst med:

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

Husk at Uid og Gid 2001 er den av brukeren vi opprettet, vi opprettet den med kommandoen i forrige trinn 3 😉

7. For å stoppe tjenesten, trykk bare på [Ctrl] + [C] i samme terminal, eller gjør en i en annen terminal:

killall pure-ftpd

Nå vil vi indikere at tjenesten starter automatisk med systemet når serveren starter, for dette endrer vi /etc/rc.local-filen og før den siste linjen som sier "exit 0" setter vi kommandoen som vi starter FTP-tjenesten med:

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

Med andre ord vil det se slik ut:

rc-local-pure-ftpd

Du kan redigere filen med nano, vi eller din foretrukne redaktør, eller hvis du foretrekker det, kopier og lim inn denne kommandoen som vil gjøre arbeidet ditt 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 ... mens du leser, «letter», er det en omfattende kommando ja, men det er rett og slett å erstatte tekst med perl og et ufarlig ekko 🙂

8. Når dette er gjort, start serveren på nytt, og du vil se at pure-ftpd-tjenesten er startet og klar til å fungere 😀

Hvordan slette brukere?

Som jeg fortalte deg før, kommandoen ren-pw er det vi trenger for å manipulere brukere, for å slette en bruker (for eksempel sysadmin) la oss sette følgende:

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

Husk at når du endrer en bruker, må du regenerere den virtuelle databasefilen til brukerne, den ligger i / etc / pure-ftpd / og den genereres / oppdateres med pure-pw mkdb

Uansett venner jeg tror det ikke er mye mer å legge til, inviter deg til å lese hjelpen fra pure-pw fordi det gir oss mye mer enn det jeg viste deg her (dette er bare en kort og nesten grunnleggende opplæring).

For ett eller to år siden var jeg en av dem som koblet alt til OpenLDAP eller MySQL, men etter hvert skjønte jeg at så mange forbindelser til databaser som er servere som sådan genererer et forbruk som vi ofte ikke har råd til, Derfor er bruken av fullstendig levedyktige alternativer som bruk av databaser i programmets egne filer, for eksempel Pure-FTPd .pdb 🙂

Eventuell tvil eller spørsmål vil jeg prøve å hjelpe så mye jeg kan.

Hilsen og ... lykkelig hacking!


13 kommentarer, legg igjen dine

Legg igjen kommentaren

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *

*

*

  1. Ansvarlig for dataene: Miguel Ángel Gatón
  2. Formålet med dataene: Kontroller SPAM, kommentaradministrasjon.
  3. Legitimering: Ditt samtykke
  4. Kommunikasjon av dataene: Dataene vil ikke bli kommunisert til tredjeparter bortsett fra ved juridisk forpliktelse.
  5. Datalagring: Database vert for Occentus Networks (EU)
  6. Rettigheter: Når som helst kan du begrense, gjenopprette og slette informasjonen din.

  1.   livlig sa

    At det .. Dokumentasjon i tilfelle feil 😀

    1.    KZKG ^ Gaara sa

      Og jeg skriver allerede innlegget om hvordan jeg installerer Nginx + MySQL + Spawn_FastCGI som jeg gjorde i Justice, og takket være det fungerer bloggen så bra :)

      Jeg håper å ha den klar til i morgen eller i overmorgen.

  2.   Rodolfo sa

    Bra innlegg; Det var morsomt nylig, jeg slet med å sette ftp-serveren min, selv om jeg ikke kunne med vsftpd, og jeg gikk til pure-ftpd og gikk. Hva om jeg tror jeg mangler, er å sette et eksempel på den klare conf dokumentasjonen er veldig bra, men i det minste det grunnleggende . Kryptering, eller i det minste forwading-porten i tilfelle ruteren brukes.
    Forresten med denne kommandoen pure-ftpwho lar deg vite hvem som er koblet til serveren, og om noe lastes ned;).
    Og ifølge deg er det ikke så nødvendig å sette en database for å koble til serveren.

    1.    KZKG ^ Gaara sa

      Takk for kommentaren 🙂

      Ja, jeg forklarte ikke mange ting (faktisk) i konfigurasjonen, det er at jeg antok at noen som vet hvordan de skal administrere en server, som ønsker å installere en FTP-tjeneste, at noen ikke ville ha store problemer med å lese kommentarer til conf-filen ^ - ^

      Hilsen og igjen, takk for kommentaren

  3.   tahuri sa

    Hei Veldig bra innlegg, jeg bruker (eller i det minste for øyeblikket) vsftpd, men jeg har noen problemer med det, og jeg ville se om jeg skjedde med dette, har du noen url eller doc for å se hvordan konfigurasjonen er?

    Takk så mye };)

    1.    KZKG ^ Gaara sa

      Du kan se konfigurasjonen her: http://ftp.desdelinux.net/pure-ftpd.conf
      Eventuelle spørsmål, eller hvis du trenger noe, åpne en tråd i forumet som vi gjerne hjelper deg med

  4.   Atheyus sa

    Veldig bra 😀

    Bare en liten ting, perl-kommandoen mangler ^ -symbolet, så det endrer ikke den andre utgangen 0 som er i kommentarene:

    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 sa

    Utmerket, jeg har bare et spørsmål, hvordan kan jeg opprette en skrivebeskyttet bruker? Jeg bruker Centos 6.5, pureftpd, ispconfig og grafikkmodus.

    Jeg bruker ispconfig bare for ftp

    hilsener og takk

  6.   monsun sa

    Denne måten å installere pureftp er en ASCO 🙂 du lar tjenesten kjøre som root, oppretter en virtuell bruker og deretter endrer tillatelsene til filsystemet, og ufff en lang etc. Måten pakken er installert på er klar til bruk, er det ikke nødvendig å gjøre alle disse trinnene

    1.    livlig sa

      Du er invitert til å publisere en mindre "motbydelig" guide .. 😉

    2.    sedlav sa

      Hva foreslår du? Sett ftp-serveren til å lytte på en port> 1024? Hvis ftp-serveren lytter til standardporten: 22, må den kjøres som root med mindre du endrer kjernens muligheter. Hvis du vil forbedre sikkerheten, bruk et MAC-rammeverk med SELinux, en annen variant ville være å fengsel / chroot serveren ftp.

  7.   Ll Skredder sa

    Koblingen for pure-ftpd.conf er nede eller eksisterer ikke. Kan du gjenopprette det?
    Takk

  8.   vedlegg sa

    2 år senere er lenken til filen pure-ftpd.conf fremdeles nede 🙁