Ir al contenido principal

Configurar un servidor FTP en GNU/Linux Debian.

Hola a todos, pues realmente tengo bastante tiempo sin escribir nada, solo por cuestiones laborales no he tenido tiempo para dedicarle a mi blog, en estos momentos dejaré un pequeño manual sobre como configurar un servidor ftp. 

Como verán, manuales de estos hay muchos en la red, sin embargo en muchos casos no encontré información detallada, por lo que decidí publicar el que hice para mi de tal manera que se explique todo paso a paso. Hoy en día no tiene sentido crear un servidor de estos, pues son considerados algo inseguros, pero en mi caso lo necesitaba por cuestiones laborales, porque mis jefes no querían complicarse con https o cosas por el estilo. Dejando la carreta a un lado, he aquí lo que hay que hacer: 
Nota breve: Este servidor fue montado en la distribución Debian, en la oficina estoy trabajando con Debian, pero en mi casa no dejo Archlinux :), de cualquier forma no debería de haber problema alguno si se prueba en otra distribución. 

Lo primero que debemos hacer es editar el archivo /etc/shells y agregar la siguiente linea: 

/bin/false

Esto con el objetivo de evitar que el usuario que acceda al servidor no pueda usar la consola de comandos, esto ayuda un poco en la seguridad del servidor.

Luego creamos un usuario especifico solo para que tenga acceso a nuestra carpeta en el servidor. 

# useradd -m -s /bin/false tunombredeusuario 
Ahora le asignamos una contraseña al usuario creado anteriormente: 

# passwd tunombreusuario

OK, lo que hicimos anteriormente fue crear un usuario, la opción -m creará una carpeta en home con el nombre de usuario, es decir, /home/tunombredeusuario, y la opción -s nos asignará un shell a ese usuario en este caso es el /bin/false, este tipo de "shell" nos sirve en caso de querer algo mas de seguridad, puesto que con esto cerramos cualquier entrada por consola, hay que tener en cuenta que este usuario está creado específicamente para acceder al servidor ftp.

Ahora procederemos a la instalación del servicio. Hay muchos demonios que sirven para este propósito, en mi caso usaré el vsftpd porque es sencillo de configurar y porque es considerado uno de los mas seguros. 

Instalación en Debian GNU/Linux:

#aptitude install vsftpd

Para configurar nuestro servidor editaremos el archivo /etc/vsftpd.conf y comentaremos las lineas que no necesitemos. 

Si no quieres que los usuarios anonimos se conecten a tu servidor entonces es recomendable comentar la linea “anonymous_enable=YES”, en mi caso lo haré porque necesito que solo se conecte el usuario que he creado. 

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
#anonymous_enable=YES

En mi caso, tuve un problema que cuando me conectaba al servidor, lo hacía satisfactoriamente pero había un problema, podía ver las carpetas de otros usuarios y a pesar de que no podía escribir información ahí, si podía descargar información de otras personas lo cual en mi caso no era bueno, así que si tu necesidad es parecida a la mía, te recomiendo comentar la siguiente linea: 
# Uncomment this to allow local users to log in.
#local_enable=YES

Como dije anteriormente, se creó un usuario especifico para conectarse al servidor, si queremos que dicho usuario se conecte a nuestro servidor hay que dejarlo en la lista de accesos, para eso hay que descomentar las siguientes lineas: 

# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().

chroot_list_enable=YES

# (default follows)

chroot_list_file=/etc/vsftpd.chroot_list

En este caso activé la lista por defecto pero se puede escoger cualquier archivo en otra ubicación.


Ahora, procederemos con el cambio de puerto, el puerto por defecto para el protocolo tcp es el 21, en mi caso fue cambiado por motivos de seguridad, si bien sabemos que tcp es inseguro, con esto hacemos las cosas un poquito mas complicadas, y de paso no nos complicamos con SSL (Que no es muy complicado, pero en mi caso no lo apliqué porque la aplicación que se iba a conectar con nosotros no soportaba SSL). 

Para decirle a nuestro servidor que escuche por un puerto diferente al 21, simplemente agregamos la siguiente linea al archivo: 

listen_port=201

En mi caso usé el 201, pero ustedes pueden usar el que quieran, siempre y cuando no utilicen alguno que esté ocupado. 

Ahora guardamos los cambios y procedemos a editar el archivo /etc/vsftpd.chroot_list, en mi caso dicho archivo me tocó crearlo, de cualquier manera solo hay que añadir los usuarios autorizados a conectarse a nuestro servidor. 

#Lista de acceso a usuarios que se conectaran al servidor.
tunombredeusuario

Por ultimo reiniciamos el servicio y con esto deberíamos de tener nuestro servidor FTP funcionando sin ningún problema.

#/etc/init.d/vftpd restart


Bien, espero que les haya servido y fue un placer hacer este pequeño tutorial :).

Comentarios

EliaX dijo…
Gracias por tu aporte, me ha servido para montar un FTP por primera vez.
Unknown dijo…
@EliaX: Muchas gracias por comentar en el blog y me alegra que te haya servido el manual :).
Unknown dijo…
amigo como ejecuto el ultimo comando ya que lo pongo tal cual en la terminal como root # y me sale disque bash: /etc/init.d/vfptd: Permiso Denegado

ayudame porfa
Unknown dijo…
Cristian, muy buenos días.

Debes de ser root para iniciar o para el servicio.

Lo mas probable es que no seas root y por eso te sale ese error.

Cordial saludos.
Anónimo dijo…
Muchas gracias me sirvio mucho :)
Anónimo dijo…
He seguido todos los pasos para la instalación del server, pero cuando escribo ftp:// con la dirección no puedo ver la carpeta que he creado.
Anónimo dijo…
Necesitas un cliente FTP... saludos!
matias dijo…
disculpen mi ignorancia despues de todo esto como accedo al servidor?
jose manuel dijo…
Your blog is very much helpful for me in my work. keep sharing this kind of blog in future. servidores linux

Thanks
Jose
cesar dijo…
como hago para conectarme de otra pc que tenga debian?
ftp ipdetuservidor


Luego te pide el usuario y la contraseña. Aunque en mi opinión la mejor forma de extraer archivos entre dos Linux es a traves de scp.



Un saludo.

Entradas más populares de este blog

Permitir redirección de micrófono a través de RDP en Windows 7.

Muy buenos días.  Como es costumbre solo escribo cuando tengo contenido original. Desde hace tiempo en la compañía que trabajo me hicieron un cambio de portátil por uno mas potente, un lenovo con intel core i5 y 8GB de RAM. La potencia del equipo me permite ejecutar dos máquinas virtuales al mismo tiempo, 1 con Windows 7 y otra con cualquier distribución Linux sin servidor gráfico o me permite ejecutar hasta 4 máquinas virtuales Unix sin servidor gráfico, ¿genial no creen? Bien, básicamente no voy a hablar de la potencia del equipo, en estos momentos tengo instalado en el portátil un Fedora con el entorno de escritorio Mate. Me va muy bien con ellos, sin embargo en ocasiones especiales necesito de Windows, es el portátil de la oficina y ahí no me puedo dar el lujo de inventar cosas a menos que exista la alternativa libre.  Hace un tiempo tuve que hacer una reunión por GoToMeeting y desde Linux no está habilitada la opción para toma remota de la máquina, me tocaba hac

Como hacer funcionar la impresora Kyocera FS-720 en Windows 7.

Hace una semana estuve dando soporte a un equipo y estuve actualizándolo a la nueva versión de Windows. Una de las grandes ventajas de Windows 7 es que tiene un alto reconocimiento de hardware por lo cual ya no es necesario buscar los drivers de los diferentes dispositivos en la web e instalarlos manualmente porque ya Windows 7 instala los drivers automáticamente o en el peor de los casos el mismo los busca en Internet, los descarga y los instala. En algunos casos tenemos problemas y la solución es buscar los drivers en la web del fabricante, pero que pasa cuando no encuentras el dichoso driver en la pagina para tu version nueva de Windows 7? He aquí una solución, la mas sencilla es buscar los drivers para Windows vista, esto se debe a que vista tiene el mismo kernel de Windows 7 por lo cual hay mucha compatibilidad. Volviendo al tema, estuve actualizando el computador a Windows 7 y tuve un problema con la impresora y me llevé un verdadero susto cuando no encontraba ni siquiera el

Reboot: Reviviendo un clásico :)

Hola a todos, esta vez quiero hablar de la primera serie animada completamente en computadora; Reboot. Esta serie solía verla cuando tenía alrededor de 15 años en Discovery Kids, creo que gracias a esta serie me empezó a gustar la informática :). Para uno, meter un juego en la computadora y jugarlo es todo un placer pero para ellos es algo muy peligroso y es una aventura completa :).  La serie fue transmitida por primera vez en el año de 1994 y finalizó en el año 2001, tengo entendido que solo fueron 3 temporadas, luego se hicieron 2 peliculas y mucha gente dice que las peliculas son la 4 temporada, personalmente me he visto hasta la tercera, apenas tengo 2 capitulos de la ultima temporada que transmitieron. Ahora el gran problema es que es muy complicado encontrar la serie en Español a través de Internet, yo me la descargué en Ingles por medio de este torrent que se encuentra en The Pirate Bay. El otro gran problema es que NO HAY SUBTITULOS, ni siquiera en Inglés, apenas hay 2 capit