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

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

U ovom sam se slučaju odlučio za FTP uslugu s virtualnim korisnicima, korisnicima koji će biti pohranjeni u šifriranu datoteku (korisnik, lozinka, postavke itd.), Svi sa Čisti FTPd.

Ovdje ću vam pokazati kako se to radi ... pa, krenimo 😉

Prije svega navedite da su naredbe u ovom vodiču namijenjene distro sistemima kao što je Debian ili se temelje na njima, međutim ako netko koristi drugu distro distrivku na svom poslužitelju mora instalirati iste pakete i koristiti postavke postavljene u nastavku, jedina stvar koja treba treba promijeniti naredbu install.

Sve naredbe koje će pročitati izvršavat ć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, stavimo opsežnu konfiguracijsku datoteku, ali gotovo standardnu, sadrži normalu koja utvrđuje da anonimni korisnici nisu dozvoljeni itd. Itd.

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

3. Pa, pretpostavimo da je naša FTP mapa / var / www / ftp / i želimo stvoriti korisnika koji može prenijeti informacije 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 Pure-FTPd korisnicima
useradd: Naznačujemo da ćemo dodati korisnika
sysadmin: Korisnik kojeg želim stvoriti
-u 2001: UserID tog korisnika
-g 2001: GroupID tog korisnika
-d / var / www / ftp / sysadmin /: Fascikla koja će biti dom tog korisnika, odnosno tamo gdje će oni 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 moraju osvježiti datoteku korisničke baze podataka, za to ulazimo u mapu / etc / pure-ftpd / (cd / etc / pure-ftpd) i stavljamo u terminal:

pure-pw mkdb

5. Ahora debemos iniciar Pure-FTPd pero indicándole que usaremos el archivo de usuarios virtuales, primero detengamos el servicio:

/etc/init.d/pure-ftpd stop

Luego nos aseguraremos que no se iniciará por defecto de forma normal:

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

Y ahora iniciamos el servicio a nuestro modo:

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

6. Si prueban usando una aplicación como Filezilla verán que se pueden conectar sin problemas con el usuario creado, sin embargo no podrán copiar nada o crear directorios, esto es debido a que la carpeta /var/www/ftp/sysadmin/ (el home del usuario según el ejemplo) no tiene los permisos apropiados, se solucionará con un:

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

Recuerden, el Uid y Gid XNUMX es el del usuario que creamos, lo creamos con el comando en el anterior paso XNUMX 😉

7. Para detener el servicio basta con en esa misma terminal presionar [Ctrl]+[C] o bien en otra terminal hacer un:

killall pure-ftpd

Ahora indicaremos que el servicio se iniciará automáticamente con el sistema cuando el servidor inicie, para ello modifiquemos el archivo /etc/rc.local y antes de la última línea que dice «exit XNUMX» pongamos el comando con el que iniciamos el servicio FTP:

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

O sea, nos quedaría así:

rc-local-pure-ftpd

Pueden editar el archivo con nano, vi o su editor preferido, o si lo prefieren copien y peguen este comando que les facilitará el trabajo:

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

… sí sí … como leyeron, «facilitar», es un comando extenso sí, pero es simplemente sustituir texto con perl y un inofensivo echo 🙂

8. Una vez hecho esto, reinicien el servidor y verán como ya el servicio pure-ftpd está iniciado y listo para funcionar 😀

¿Cómo eliminar usuarios?

Como les dije antes, el comando pure-pw es lo que necesitamos para manipular usuarios, para eliminar un usuario (por ejemplo, sysadmin) pongamos lo siguiente:

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

Recuerden que siempre que hagan un cambio en algún usuario deben volver a generar el archivo virtual de base de datos de los usuarios, se encuentra en /etc/pure-ftpd/ y se genera/actualiza con pure-pw mkdb

En fin amigos/as creo que no hay mucho más que agregar, invitarles a que se lean la ayuda de pure-pw pues nos permite muchas más cosas que las que aquí les mostré (este es solo un tutorial breve y casi básico).

Yo hace uno o dos años era de los que todo lo vinculaba a OpenLDAP o MySQL, pero con el pasar del tiempo me dí cuenta de que tantas conexiones a bases de datos que sean servidores como tal generan un consumo que muchas veces no podemos permitirnos, por ello el uso de alternativas completamente viables como la de usar bases de datos en archivos propios de la aplicación, como es este caso de los .pdb de Pure-FTPd 🙂

Cualquier duda o pregunta intentaré ayudar en todo cuanto pueda.

Saludos y … happy hacking!


Sadržaj članka pridržava se naših principa urednička etika. Da biste prijavili grešku, kliknite ovdje.

13 komentara, ostavi svoj

Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Za podatke odgovoran: Miguel Ángel Gatón
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.

  1.   elav rekao je

    Eso eso.. Documentación en caso de errores 😀

    1.    KZKG ^ Gaara rekao je

      Y ya estoy redactando el post sobre cómo instalar Nginx+MySQL+Spawn_FastCGI como lo hice en Justice, y gracias a eso el blog funciona tan bien 🙂

      Espero tenerlo listo para mañana o pasado-mañana.

  2.   Rodolfo rekao je

    Buen post; es gracioso hace poco estuve batallando para poner mi servidor ftp inclusive no pude con vsftpd y me pase a pure-ftpd y anda lo que si me parece te falto es poner un ejemplo del conf claro la documentacion es muy buena, pero al menos lo basico. Encriptacion, o al menos el port forwading en caso de que se use router.
    Por cierto con este comando pure-ftpwho te permite saber quien esta conectado al servidor, y si esta bajando algo ;).
    Y de acuerdo contigo poner una base de datos para conectarse al servidor no es tan necesario.

    1.    KZKG ^ Gaara rekao je

      Gracias por el comentario 🙂

      Sí en efecto, me faltó explicar muchas cosas (todo de hecho) en la configuración, es que asumí que alguien que sabe administrar un servidor, que desea instalar un servicio FTP, ese alguien no tendría mayores problemas para leer los comentarios del archivo de conf ^-^

      Saludos y de nuevo, gracias por el comentario

  3.   Tahuri rekao je

    Hola Muy bueno el post, yo uso ( o almenos por ahora ) vsftpd pero tengo algunos problemas con el, y quería ver si me paso a este, tenes alguna url o doc para ver como es su configuración?

    Muchas gracias };)

    1.    KZKG ^ Gaara rekao je

      La configuración la puedes ver acá: http://ftp.desdelinux.net/pure-ftpd.conf
      Cualquier duda o si necesitas algo abre un hilo en el foro que con gusto te ayudamos 🙂

  4.   Atheyus rekao je

    Muy bueno 😀

    Solo una pequeña cosa,la orden en perl le falta el símbolo de ^,para que no cambie el otro exit XNUMX que esta en los comentarios:

    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

    Saludos

  5.   Omar rekao je

    excelente, solo que tengo una duda, como puedo crear un usuario de solo lectura?? uso Centos XNUMX, pureftpd, ispconfig y modo grafico.

    el ispconfig lo uso nomas para el ftp

    pozdrav i hvala

  6.   monzon rekao je

    Esta forma de instalar pureftp es un ASCO 🙂 dejas corriendo el servicio como root, creas un usuario virtual y luego cambias los permisos en el filesystem, y ufff un largo etc. La forma en que se instala el paquete ya viene listo para ser usado, no hay necesidad de hacer todos estos pasos

    1.    elav rekao je

      Quedas invitado a publicar una guía menos «asquerosa».. 😉

    2.    sedlav rekao je

      ¿Q propones? ¿Poner a escuchar el servidor ftp en un puerto > XNUMX? Si el servidor ftp esta al escucha en su puerto standard: XNUMX debe ejecutarse como root al no ser que modifiques los capabilities del kernel, si lo que quieres es mejorar la seguridad usa un framework MAC con SELinux otra variante seria hacerle jail/chroot al servidor ftp.

  7.   LlSastre rekao je

    El link para el pure-ftpd.conf está caído o no existe. ¿Puedes restaurarlo?
    hvala

  8.   Prilozi rekao je

    XNUMX años más tarde el link para el archivo pure-ftpd.conf sigue caído 🙁