
Introducción
Con el uso de del servidor de correos, nos hemos dado cuenta que necesitamos pasar archivos con más peso que no admite «POSTIX«, tendremos que buscar una alternativa para transferir archivos a los usuarios de nuestra red y que nuestros usuarios puedan administrar los archivos del servidor con ciertos privilegios.
Para ello tendremos que instalar varios servicios para la transferencia de archivos en este caso PROFTP. También tendremos que configurar el servidor DNS, para añadir el nombre con el que entraremos en el servidor ftp en mi caso ftp.salomundo.com.
Dentro de la configuración del ftp añadiremos diferentes parámetros para los usuarios anónimos y usuarios del sistema creados.
En nuestro caso los clientes serán; Un Debian 10.2 (Con entorno gráfico) y un Windows 7 (Home Premium).
Caso Práctico
Los usuarios del centro necesitan una manera de pasar archivos, descargar y modificar dentro del servidor, ya que son archivos demasiados grandes o necesitan configuración remota, sin estar delante del servidor. Para ello configuraremos un servidor FTP que nos ayudará con nuestro problema.
Si se accede forma autentificada cada usuario accederá a su carpeta public_html, donde podrá gestionar los archivos de su página web personal. Esto lo configuraremos en está misma entrada.
Después necesitamos que los usuarios que entren de forma anónima a nuestro servidor FTP sean redirigidos a los documentos del centro en la dirección /srv/doc.
Trabajaré sobre un entorno VirtualBox preparado y configurado para esta tarea , pero se puede hacer con máquinas reales conectadas y cableadas entre sí.
Explicación básica del protocolo FTP
El Protocolo de transferencia de archivos (en inglés File Transfer Protocol o FTP) es un protocolo de red para la transferencia de archivos entre sistemas conectados a una red, basado en un modelo cliente-servidor.
Desde un equipo cliente se puede conectar a un servidor para descargar archivos desde él o para enviarle archivos, independientemente del sistema operativo utilizado en cada equipo.
Instalación del Servicio PROFTP
Empezaremos actualizando los repositorios y los paquetes.
apt-get update

Luego instalamos los paquetes actualizados.
apt-get upgrade

La paquetería necesaria para empezar a funcionar se llama “PROFTP”, este será el instalador de nuestro servidor FTP.
apt-get install proftpd

El fichero de configuración es /etc/proftpd/proftpd.conf, en este fichero encontraremos todas las configuraciones necesarias para nuestro servidor FTP. Por ahora no tocaremos nada.
Configuración del Servidor FTP
Después de la instalación lo que debemos hacer es configurar el servidor DNS para añadir la nueva dirección FTP, para que nuestros usuarios creados y anónimos puedan entrar a sus carpetas dentro del servidor desde un cliente (Filezilla).
nano /var/cache/bind/db.salomundo.com
Añadimos la linea de resolución de nombres del servidor FTP. Quedará de la siguiente manera:

Después reiniciamos el servicio:
systemctl restart proftpd

Para comprobar esto deberemos crear un usuario completamente nuevo y probar a entrar al servidor ftp.salomundo.com desde un cliente utilizando filezilla. Voy a entrar con el usuario «domingo» que esta creado automáticamente por el sistema.

Como podemos ver entramos correctamente.
Configuración Forma Autentificada
Para la primera parte de la configuración, necesitaremos que los clientes tengan su propia carpeta public_html, para esto tendremos que crear dicha carpeta y decirle al servidor apache que todos los usuarios con acceso a un servidor tengan una carpeta llamada public_html en la cual puedan alojar sus páginas y archivos.
Pero antes de esto crearemos el usuario que iniciara sesión en el FTP en mi caso le llamaré «domin«.
adduser domin

Después iniciamos sesión desde su cuenta para crear la carpeta /home/domin en mi caso.

Después de crear el usuario iniciamos sesión como root y asumiendo que tenemos Apache2 instalado ejecutamos:
a2enmod userdir

Lo siguiente que haremos será ir al HOME de «domin» y creamos la carpeta public_html y le damos permisos.
mkdir public_html chmod 0755 public_html

Aparte deberemos dar permiso al usuario domin para que pueda manejar su carpeta ya que esta en su directorio personal para esto le daremos el siguiente permiso:
chown -R domin /home/domin/public_html
Volvemos al usuario domin y verificamos que la carpeta se creó correctamente y podemos crear contenido dentro.

Para comprobar que todo funciona correctamente nos situaremos en un ordenador cliente y entramos a la carpeta del usuario desde la siguiente url:
http://MIDIRECCION/~domin

Si tuvieras una página web configurada se nos habría dicha página web.
Ahora imaginemos que dentro del usuario domin hay muchas carpetas, pero nosotros queremos que los usuarios entren solo y exclusivamente a la carpeta «public_html» para que esto suceda tendremos que entrar a la configuración del archivo:
/etc/proftpd/proftpd.conf
Aquí especificaremos que la nueva ruta será ~/public_html en la linea de DocumentRoot que deberemos descomentar.

Guardamos la configuración y reiniciamos el servicio:
systemctl restart proftpd

Ahora para acceder los archivos de la carpeta «domin» deberemos iniciar sesión desde Filezilla en el servidor:
Cuando iniciamos sesión en el FTP, nos damos cuenta que estamos atrapados dentro del directorio public_html y no podemos volver hacia atrás esto es una medida de seguridad del servidor FTP para que los usuarios no puedan acceder a otros directorios que no sean el suyo.

Como podemos ver la carpeta creada anteriormente esta y el propietario de la carpeta es el usuario domin como especificamos antes.
Configuración Forma Anónima
La otra manera de entrar a un servidor FTP sin usuario ni contraseña es la forma anónima, esta la configuraremos desde el siguiente fichero, en la configuración anónima especificaremos que el directorio por defecto de los usuarios anónimos sea /srv/doc.
/etc/proftpd/proftpd.conf
Aquí dentro habilitaremos al usuario «anonymous» descomentando las siguientes lineas:

| <Anonymous /srv/doc> | Definición del sitio Anónimo |
| User | Usuario que usa el servidor. Es el que se debe usar en los permisos de carpetas y ficheros. |
| Group | Grupo que usa el servidor. Es el que se debe usar en los permisos de carpetas y ficheros. |
| UserAlias | Alias de nombres definidos para acceder al servidor como usuario anónimo. |
| RequireValidShell | Si quieres una contraseña para loguearse. |
Después le daremos permiso a los usuarios anónimos en la carpeta /srv/doc:
chown -R proftpd:nogroup /srv/doc

Entramos desde algún ordenador cliente utilizando Filezilla, podremos entrar en anónimo usando el usuario «anonymous» o «ftp«.

Prueba de funcionamiento desde un cliente Windows
Entrando al servidor FTP desde el usuario con autentificación básica:

Entrando al servidor FTP desde el usuario con autentificación anónima:

Después de acabar con las comprobaciones, este sería el final del post. Si tenéis algún problema con errores de ficheros, verificar las faltas de ortografía y erratas que suele ser el mayor problema a la hora de configurar ficheros en debian.
Muchas gracias por ver este post, si tienes alguna duda deja tu comentario abajo.😊