[ Ver menu ]

Servidor FTP con usuarios virtuales

En este blog, lo primero que pone después del nombre (Bynario) es Linux… Se debe principalmente a razones “históricas”, ya que Pi solía escribir mucho sobre Linux en los comienzos de Bynario, aunque últimamente tengamos el tema algo abandonado.

Me propongo retomar un poco el tema contando como instalar un servidor FTP en Debian (en cualquier otra distribución es muy similar) que admita usuarios virtuales ya que hace poco tuve que hacerlo en un servidor que tengo en casa y probé varias soluciones distintas.

Normalmente los servidores FTP de Linux funcionan con los usuarios que existan en el sistema, pero por algunas cuestiones (entre otras seguridad y permisos) no me interesaba esta solución en mi servidor FTP. (Los usuarios virtuales no existen en el sistema, pero sí existen para el servidor FTP).

Después de probar varios (ftpd, vsftpd, wu-ftpd, …) me decidí por pure-ftpd.

Os resumo los pasos que seguí:

Para instalarlo nada más fácil que:

# apt-get install pure-ftpd

De esta forma el servidor ya quedaría funcionando para que entraran los usuarios del sistema, pero lo que a mi me interesa es tener usuarios virtuales, para ello:

Se crea un grupo y un usuario en el sistema:

# groupadd ftpgroup
# useradd -g ftpgroup -d /dev/null -s /etc ftpuser

Se añade un usuario virtual a pure-ftpd:

# pure-pw useradd [nombre_de_usuario] -u ftpuser -g ftpgroup -d [ruta_acceso_usuario]

NOTA: Si usamos la opción -d al crear el usuario quedará restringido su directorio de entrada, mientras que si usamos -D subir directorios. Hay muchos más parámetros que se pueden especificar a la hora de crear un usuario pero yo por ahora no los necesito (como cuotas y tiempos máximos, …)

Se sincronizan los usuarios creados (con el pure-pw useradd) con la BD del pure-ftpd

# pure-pw mkdb

Si queremos ver que permisos tiene un usuario:

# pure-pw show

Y si quisieramos borrarlo

# pure-pw userdel

(Después habría que volver a sincronizar la BD de usuarios)

Ya lo tenemos, pero aún hay que modificar un par de cosas ya que el pure-ftpd se arranca por defecto sin la opción de usuarios virtuales. Así que he borrado el script de arranque que te crea automáticamente con la línea:

# /etc/init.d/update-rc.d -f pure-ftpd remove

Y luego he añadido a mi script de arranque la línea:

# pure-ftpd -j -l puredb:/etc/pure-ftpd/pureftpd.pdb &

(Que es la forma de arrancar el pure-ftpd con la opción de usuarios virtuales).

Con esto ya tendríamos listo el servidor y solo habría que cambiar los permisos de los usuarios y las cuotas, que lo dejo para una próxima entrega si a la audiencia le interesa… ;) eo

¡Compártelo!

2 Comentarios

  1. Pi dice:

    En este caso yo soy audiencia y creo que estaría muy bien si terminas el tema de las cuotas y demás :D

    PD: Hacia muucho que no poniamos un post de linux… Tendremos que recuperar las buenas costumbres

    3 Diciembre 2006 @ 11:43 pm

  2. K dice:

    INTERESAAAA INTERESAAAAA

    4 Diciembre 2006 @ 1:04 pm

RSS de comentarios | URI para TrackBack.

Dejar comentario

XHTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong>