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.
1. Først skal vi installere Pure FTPd:
apt-get install pure-ftpd
Det vil afslutte outputtet til noget som dette:
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.
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:
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!
Det er det... Dokumentation i tilfælde af fejl 😀
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.
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.
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
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 };)
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 🙂
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
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
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
Du er inviteret til at udgive en mindre "grov" guide.. 😉
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.
Linket til pure-ftpd.conf er nede eller eksisterer ikke. Kan du gendanne den?
Tak
2 år senere er linket til pure-ftpd.conf-filen stadig nede 🙁