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
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).
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.
Para problemas que os pueden ocurrir, os recomiendo mirar y comprobar esta lista de errores.