
Los integrantes de nuestro instituto necesitan transferirse archivos entre ellos y por lo tanto necesitaremos montar un servidor FTP (File Transfer Protocol), que permitirá transferir ficheros entre los sistemas conectados entre sí.
Instalación
Para montar el servidor FTP vamos a utilizar la herramienta ProFTPd, así que en primer lugar vamos a instalar el paquete necesario para instalar esta herramienta:
apt-get install proftpd
Con esto ya hemos instalado ProFTPd y podríamos pasar a la configuración del mismo.
Configuración
Todo lo que tenga que ver en cuanto a configuración en este servidor lo encontraremos en el archivo /etc/proftpd/proftpd.conf y es ahí donde tendremos que modificar las líneas para configurar los diferentes accesos (autenticado o anónimo).
Acceso Autenticado
Queremos que los usuarios autenticados por FTP accedan a su carpeta «public_html», es decir, que si el usuario Pepe inicia sesión acceda a «public_html/Juan» y si María inicia sesión acceda a «public_html/María» de forma que cada uno sea independiente del otro. Para ello tendremos que dirigirnos a el fichero /etc/proftpd/proftpd.conf y crear las siguientes líneas:
DefaultRoot /home/public_html/Pepe pepe DefaultRoot /home/public_html/Maria maria

Obviamente las carpetas no están creadas así que el siguiente paso será crear ambos directorios de acceso para los usuarios:

Una vez creados los directorios nos aseguraremos de que los usuarios existen:

Tenemos que hacerle dueño de sus respectivas carpetas a cada usuario:

Una vez hemos comprobado todo esto, habilitamos el inicio de sesión de ambos usuarios añadiendo las siguientes líneas en el fichero anteriormente editado:

Acceso Anónimo
Queremos que los usuarios que accedan de forma anónima (una cuenta común para varios usuarios) accedan a «/srv/doc», la carpeta configurada anteriormente para «www.harvard.com/documentos». Primero debemos habilitar esta cuenta y asignarle la ruta, esto lo haremos en el fichero /etc/proftpd/proftpd.conf descomentando y modificando lo siguiente:

Hemos descomentado varias líneas y hemos modificado la siguiente:
<Anonymous /srv/doc>
Con eso hemos conseguido que el usuario anónimo acceda siempre a la carpeta /srv/doc.
Ahora tendremos que denegar la escritura a todo el mundo y permitírsela solo a el usuario ftp (anónimo):

Cuando hayamos realizado todos estos cambios reiniciaremos el servicio FTP:
systemctl restart proftpd
Cambios en DNS
Para que podamos acceder desde los clientes a «ftp.harvard.com» tendremos que añadir el registro en el servidor DNS, así que editamos el «db.harvard.com» y añadir la línea correspondiente:

Con esto deberíamos poder acceder desde los clientes. Reiniciamos el servidor DNS:
systemctl restart bind9
Comprobaciones
Ahora vamos a comprobar desde los clientes que esto funciona realmente, tanto el acceso anónimo como el autentificado.
Acceso autentificado
Para acceder al servidor FTP utilizaremos Filezilla, así que instalaremos Filezilla en Linux:
apt-get install filezilla


Ya tendríamos Filezilla instalado, ahora solo tendremos que rellenar con los datos necesarios los campos vacíos:

Comenzamos la conexión y nos dirá que la conexión no es segura:

Esto es normal ya que no hemos montado el servidor FTP sobre TLS, aceptamos y comprobamos:

Nos a conectado correctamente, ahora vamos a crear un fichero a ver si nos aparece en el cliente:

Comprobamos en el cliente:

Efectivamente nos lo ha creado perfectamente, ahora iniciaremos sesión con maría:


Como puedes ver, no aparece el fichero de «pepe.txt» ya que se encuentra en otro directorio totalmente distinto e independiente, ahora vamos a intentar escribir desde el cliente, a ver si tenemos permiso de escritura:



Se ha creado perfectamente, ahora vamos a realizar un «ls» a el directorio de María:

Efectivamente, se ha creado con éxito en el directorio correspondiente.
Acceso anónimo
Este paso lo realizaremos desde Windows, así que descargamos Filezilla en Windows:

Instalamos y ejecutamos Filezilla, e introducimos las credenciales de «Anonymous»:

Las credenciales de el usuario son «anonymous» de nombre de usuario, y de contraseña «anonymous». Realmente el usuario se llama «ftp» pero mediante un alias le han cambiado el nombre a «anonymous» pero se podría acceder con ambos nombres. Una vez explicado esto, iniciamos sesión:

Aparecen los documentos que nos tienen que aparecer. Para comprobar el permiso de escritura vamos a crear otro directorio llamado «directiva»:



Comprobamos en el servidor que se ha creado la carpeta:

Se ha creado correctamente. Para confirmarlo de una forma más curios podemos acceder a http://www.harvard.com/documentos:

Ya tendríamos nuestro servidor FTP en pleno funcionamiento con ambos accesos, autentificado y anónimo.
