Servidor FTP con usuarios virtuales


Para montar nuestro servidor ftp sencillo utilizaremos pure-ftpd, el cual es sencillo de configurar y de crear usuarios virtuales, además de ser seguro.

Instalando pure-ftpd

# apt-get install pure-ftpd

Luego de esto debemos parar el demonio

# /etc/init.d/pure-ftpd stop

Creando usuarios

Para empezar a usar pure-ftpd necesitamos crear un usuario local pero de esos bien garra para que no tenga acceso al sistema.

# groupadd ftpgroup

# useradd ftpuser -g ftpgroup -d /dev/null -s /bin/false

El usuario no tiene ni shell ni directorio inicial, para que no pueda acceder al sistema.

Creando usuarios virtuales

El comando que se utiliza para la gestion de usuarios virtuales es pure-pw, asi que procedemos a crear nuestro nuevo usuario virtual

# pure-pw useradd [usuario] -u ftpuser -g ftpgroup -d [directorio/de/trabajo]

Nos pedirá una contraseña y la asignamos, para que los cambios tengan efecto en la "base de datos" de pure-ftpd debemos ejecutar la siguiente instrucción

# pure-pw mkdb

Si queremos ahorrarnos ejecutar siempre la instrucción anterior al hacer un cambio en la base de datos nomas debemos agregar el parámetro -m cuando agreguemos, modifiquemos o eliminemos usuarios.

Ejecutando el servidor

Para que esto se cumpla debemos ejecutar

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

Pero es tedioso siempre tener que ejecutar esa instrucción para que arranque el servidor entonces es recomendable crear un script con esa linea, darle permisos de ejecucion +x y colocarlo en el directorio /etc/init.d/ asi siempre que iniciemos nuestro ordenador se ejecutara el servidor.

#Actualizacion Miércoles 27 de Febrero 2008

Cuando por casualidad queremos arrancar el servicio de ftp aparece el siguiente error

Unable to start a standalone server: Address already in use

Para resolverlo tenemos que editar el archivo inetd.conf

# nano /etc/inetd.conf

y comentar la linea que dice

ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper

Debe quedar de la siguiente manera

#ftp stream tcp nowait root /usr/sbin/tcpd /usr/sbin/pure-ftpd-wrapper

Por ultimo nada mas resta guardar el archivo y reiniciar el servicio ftp.

Comentarios (2)

2 Response to "Servidor FTP con usuarios virtuales"

  1. Hugo Barrientos says:
    viernes, diciembre 21, 2007

    Extraño Linux (y en particular mi Debian con KDE) con toda mi alma :(

  2. Daniel Alberto says:
    sábado, diciembre 22, 2007

    @ hugo barrientos: No quiero estar en tus huesos ........