Foro de elhacker.net

Comunicaciones => Redes => Mensaje iniciado por: madpitbull_99 en 17 Abril 2011, 21:24 pm



Título: Instalación de un servidor FTP en Linux (vsftpd)
Publicado por: madpitbull_99 en 17 Abril 2011, 21:24 pm
Artículo perteneciente al [Taller]Instalación/Configuración y Teoría de Servicios en Red (http://foro.elhacker.net/redes/tallerinstalacionconfiguracion_y_teoria_de_servicios_en_red-t310026.0.html), también disponible en la Wiki del Foro (http://wiki.elhacker.net/redes/teoria/teoria-ftp)


Para sistemas GNU/Linux hay muchos software servidores de FTP que nos pueden servir para este tutorial, pero nos vamos a centrar en VSFTPD (Very Secure FTP Daemon),
como su nombre indica, es muy seguro, probablemente uno de los mas seguros del mercado y muy fácil de configurar.

Procedemos a instalar el daemon:

Código:
apt-get install vsftpd

El fichero de configuración está en /etc/vsftpd.conf.

Vamos a ver unas de las directivas que nos pueden interesar.

anonymous_enable = YES - Permite el acceso sin cuenta al servidor.
local_enable = YES - Con esta directiva los usuarios locales al sistema podrán iniciar sesión en el servidor FTP, al iniciar
sesión el usuario será redireccionado a su carpeta personal en  /home.

Podemos probar esta última directiva creando un usuario y logueandonos con él.
Código:
adduser demo

(http://madzone.comoj.com/image_host/images/capturoto.jpg)

Se puede decir que prácticamente tenemos un servidor FTP funcionando, ahora solo falta personalizarlo un poco más.

write_enable = YES - Los usuarios tiene derecho a crear ficheros y archivos.
local_umask = 022 - Representan los permisos que tendrán los archivos subidos al servidor FTP.
anon_upload_enable = YES - El usuario anonymous tiene permisos para subir archivos.
ftp_banner = "Bienvenido al servidor FTP de madpitbull" - El mensaje de bienvenida al servidor.
anon_root = /home/ftp - El directorio inicial del usuario anonymous. Hay que crearlo.
Una vez hechos algunos cambios, reiniciaremos el servidor:
Código:
service vsftpd restart

En la página oficial del proyecto tenéis todas las directivas (documentación (http://vsftpd.beasts.org/vsftpd_conf.html)).

Una cosa interesante que podemos hacer es crear una carpeta donde se puedan subir archivos usando el usuario anonymous.
Un requisito es tener configuradas todas las directivas que he mencionado anteriormente.

Creamos la carpeta ftp dentro de /home.
Código:
mkdir /home/ftp

Le cambiamos los permisos.
Código:
chmod 577 /sudo/ftp

Creamos la carpeta donde se subirán los archivos.
Código:
mkdir /home/ftp/incoming

Y le damos todos los permisos.
Código:
chmod 777 /home/ftp/incoming

Solo falta cambiar el propietario de dicha carpeta.
Código:
chown ftp /home/ftp

Si usáis Webmin para administrar el servidor, os recomiendo que instaléis el módulo vsftpd (http://www.webmin.com/cgi-bin/search_third.cgi?search=vsftp).

Para problemas que os pueden ocurrir, os recomiendo mirar y comprobar esta lista de errores (http://kerneltrap.org/node/6237#comment-245952).


Título: Re: Instalación de un servidor FTP en Linux (vsftpd)
Publicado por: Albertolopez1992 en 13 Agosto 2014, 21:44 pm
Disculpa soy nuevo en el foro, tengo una pregunta, he instalado vsftpd en un servidor centos 6.5, cuento con una direccion ip publica y una ip privada, cuando me conecto por la ip privada si puedo acceder al servidor, pero cuando me conecto con la ip publica no tengo acceso al servidor, ¿Cual podria ser mi erro?