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.
1. Først må vi installere Pure FTPd:
apt-get install pure-ftpd
Utgangen vil slutte omtrent slik:
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.
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:
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
At det .. Dokumentasjon i tilfelle feil 😀
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.
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.
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
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 };)
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
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
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
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
Du er invitert til å publisere en mindre "motbydelig" guide .. 😉
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.
Koblingen for pure-ftpd.conf er nede eller eksisterer ikke. Kan du gjenopprette det?
Takk
2 år senere er lenken til filen pure-ftpd.conf fremdeles nede 🙁