GNU/Linux >> Tutoriales Linux >  >> Panels >> Webmin

Servidor ProFTPD

Esta página explica el protocolo FTP y luego describe cómo configurar el servidor ProFTPD y cómo configurarlo para varios propósitos.

Contenido

Introducción a FTP y ProFTPD

FTP significa protocolo de transferencia de archivos y, junto con telnet y SMTP, es uno de los protocolos más antiguos que todavía se usa comúnmente en Internet. FTP está diseñado para permitir que los programas cliente lean, escriban y eliminen archivos en un servidor remoto, independientemente del sistema operativo que esté ejecutando el servidor. Esencialmente, es un protocolo para compartir archivos, pero a diferencia de los protocolos NFS y SMB más comunes, es más adecuado para usar en una red de latencia alta o lenta.

Por lo general, FTP se usa para transferir archivos de un sistema a otro. A veces, esos archivos son imágenes de CD de distribución de Linux o paquetes RPM, descargados por varios hosts de clientes en Internet desde un sistema de servidor grande que los aloja para que todos puedan acceder. Otras veces, los archivos son páginas para un sitio web, cargados por un cliente FTP ejecutado por el propietario del sitio a un sistema que ejecuta tanto el servidor web como un servidor FTP.

Aunque el protocolo FTP ha sido reemplazado en su mayoría por HTTP como método para descargar archivos, todavía tiene muchas ventajas. La mayor es la capacidad de los clientes para cargar archivos en el servidor, suponiendo que se haya configurado para permitirlos. Otro es un formato de lista de directorio semiestándar, que los clientes pueden usar para obtener una lista de archivos en un directorio del servidor.

Cuando un cliente FTP se conecta a un servidor, primero debe autenticarse antes de que se pueda realizar cualquier transferencia de archivos. A menudo, los clientes iniciarán sesión como el usuario anónimo especial, que no requiere contraseña y generalmente está configurado para que solo pueda descargar archivos. En los sistemas Unix, la mayoría de los servidores FTP permiten que cualquier usuario local inicie sesión con el mismo nombre de usuario y contraseña que usaría para telnet o SSH, y dan a su cliente acceso a los mismos archivos con los mismos permisos.

Otra característica única del protocolo FTP es su soporte para traducir archivos entre el formato de datos usado en el cliente y el usado en el servidor. El uso más común de esto es la conversión de archivos de texto entre los formatos Unix, Windows y MacOS, cada uno de los cuales usa diferentes caracteres para representar el final de una línea. Esta característica se puede deshabilitar para la transferencia de archivos binarios como imágenes, ejecutables e ISO, ya que corrompe los datos que no son de texto.

Existen muchos programas de cliente FTP diferentes, desde el comando ftp básico de Unix hasta navegadores como IE y Mozilla. Todo sistema operativo moderno tiene al menos uno, y casi todos incluyen un cliente de algún tipo como estándar. Los servidores FTP también abundan, pero este capítulo se centra en uno solo:ProFTPD, que en mi opinión es el servidor más flexible disponible para los sistemas operativos Unix.

Aunque todas las variedades de Unix vienen con un servidor FTP como estándar, el servidor suministrado suele ser muy básico y carece de funciones, o el WU-FTPd más potente. Aunque este último tiene muchas opciones configurables, no es tan capaz como ProFTPD cuando se trata de alojamiento virtual, restricciones de directorio y bloqueo de usuarios en sus directorios de inicio.

ProFTPD generalmente usa un solo archivo de configuración, que se encuentra en /etc/proftpd.conf. Este archivo está compuesto por directivas, cada una de las cuales suele ocupar una sola línea y tiene un nombre y un valor. Cada directiva establece una sola opción configurable, como el nombre de un archivo oculto o la ruta a un mensaje de bienvenida. También hay directivas de contenedores especiales para agrupar otras directivas que se aplican solo a un único servidor o directorio virtual, que abarcan varias líneas.

El módulo de servidor ProFTPD

El ícono del módulo Servidor ProFTPD se puede encontrar en Webmin en la pestaña Servidores en el menú principal. Al hacer clic en él, aparecerá la página principal del módulo como se muestra en la imagen a continuación, suponiendo que realmente tenga instalado el servidor.


El módulo del servidor ProFTPD

Si la página principal muestra un mensaje de error como *El servidor ProFTPD /usr/sbin/proftpd no se pudo encontrar en su sistema*, entonces el servidor probablemente no esté instalado y, por lo tanto, el módulo no se puede usar. La mayoría de las distribuciones de Linux incluyen un paquete ProFTPD en su CD o sitio web, así que use el módulo Paquetes de software (cubierto en el capítulo 12) para instalarlo. Si no existe ningún paquete, descargue el código fuente de www.proftpd.org, compílelo e instálelo.

Si ya tiene algún otro servidor FTP instalado, primero debe eliminarlo para que no entren en conflicto.

Otro error que puede mostrar la página principal es *El programa /usr/sbin/ftpd no parece ser el servidor ProFTPD*. Esto ocurrirá si Webmin detecta que algún otro servidor FTP está instalado en su lugar; si es así, deberá eliminarlo e instalar ProFTPD.

ProFTPD se puede ejecutar en dos modos diferentes:ya sea como un proceso daemon independiente que escucha las conexiones FTP, o desde un súper servidor como inetd o xinetd. El primero acepta conexiones más rápidas, pero a costa de que un proceso que se ejecuta todo el tiempo utilice más memoria. Este último es mejor para los sistemas que no esperan recibir mucho tráfico FTP, ya que el programa ProFTPD solo se ejecuta cuando es necesario.

Debido a que el modo independiente es más fácil de configurar y debido a que la memoria es abundante en la mayoría de los sistemas, este capítulo asume que lo ejecutará en ese modo. Para iniciar el proceso del servidor ProFTPD, siga estos pasos :

  1. En el módulo Protocolos y servicios de Internet (cubierto en Servicios de Internet), asegúrese de que cualquier servicio existente llamado ftp tenga Programa deshabilitado o Ningún programa asignado seleccionado. Esto asegura que inetd no ejecutará ningún servicio FTP. Si deshabilita un servicio, asegúrese de presionar Aplicar cambios en la página principal de ese módulo para activar sus cambios.
  2. En el módulo Servicios extendidos de Internet, asegúrese de que todos los servicios con ftp en sus nombres (como wu-ftpd, proftpd o vsftpd) tengan su Servicio habilitado? campo establecido en No . Nuevamente, deberá presionar los módulos Aplicar cambios para activar cualquier cambio.
  3. De vuelta en el módulo Servidor ProFTPD, haga clic en el icono Opciones de red.
  4. Seleccione Demonio independiente del Tipo de servidor menú.
  5. Haga clic en Guardar botón en la parte inferior de la página.
  6. De vuelta en la página principal del módulo, un botón llamado Iniciar servidor debe aparecer en la parte inferior. Golpéelo para iniciar el demonio ProFTPD.
  7. Si desea que el daemon se reinicie en el momento del arranque, use el módulo de arranque y apagado para crear una acción llamada proftpd que ejecute el comando /usr/sbin/proftpd en el momento del arranque. La ruta real puede ser /usr/local/sbin/proftpd o /usr/sbin/in.proftpd según la distribución de Linux que esté ejecutando o si compiló e instaló el programa usted mismo en lugar de usar un paquete. Además, algunos paquetes de ProFTPD pueden incluir una secuencia de comandos de arranque como esta, que es posible que solo deba habilitar.

Una vez que se haya iniciado ProFTPD, puede probarlo utilizando el cliente FTP de Unix de línea de comandos para conectarse a su propio sistema. Simplemente ejecute ftp localhost y asegúrese de que puede iniciar sesión como un usuario que no sea root. Puede verificar que el servidor realmente es ProFTPD comprobando la versión que muestra el comando ftp justo antes de que solicite un nombre de usuario, a menos que se haya configurado de forma predeterminada para no mostrar información de la versión.

Ejecutar ProFTPD desde inetd o xinetd

Configurar ProFTPD para que se ejecute desde un súper servidor tampoco es demasiado difícil, y puede ser una buena idea si su sistema tiene poca memoria o casi nunca recibe conexiones FTP. Antes de que pueda hacer esto, debe eliminar cualquier proceso del servidor proftpd existente (se hace fácilmente con el módulo Procesos en ejecución) y deshabilitar o eliminar cualquier acción que lo inicie en el momento del arranque.

Si su sistema utiliza el xinetd superior, siga estas instrucciones para configurar el servicio FTP. Debido a que muchos paquetes incluyen un archivo de configuración /etc/xinetd.d para el servidor, es posible que algunos de los campos que se explican a continuación ya estén completados correctamente.

  1. Vaya a la categoría Redes de Webmin y haga clic en el icono *Servicios de Internet extendidos*. Si no existe, xinetd no está instalado y deberá configurar el servidor usando inetd en su lugar.
  2. En la página principal del módulo, busque un servicio existente llamado ftp o proftp. Si existe, haga clic en él; de lo contrario, siga las instrucciones Crear un nuevo servicio de Internet enlace encima o debajo de la tabla.
  3. En el Nombre del servicio campo, ingrese ftp (a menos que ya se haya rellenado).
  4. Asegúrese de se selecciona la opción en ¿Servicio habilitado? campo.
  5. Deje el Enlazar a la dirección campo establecido en Todos y el *Número de puerto* a Estándar o 21 .
  6. Seleccione Transmitir del Tipo de socket menú y Predeterminado o TCP del Protocolo lista.
  7. En el Servicio gestionado por campo, seleccione el programa Servidor e ingrese la ruta al ejecutable proftpd (como /usr/sbin/proftpd ) en el cuadro de texto adyacente. La ruta depende de si instaló el programa desde un paquete o lo compiló desde el código fuente.
  8. En Ejecutar como usuario campo, ingrese raíz .
  9. Seleccione No para ¿Esperar hasta completar? campo.
  10. Deje todos los demás campos configurados con sus valores predeterminados y presione Guardar o Crear botón en la parte inferior del formulario.
  11. De vuelta en la página principal del módulo, haga clic en Aplicar cambios botón debajo de la lista de servicios.

Alternativamente, para configurar un servicio inetd para ProFTPD utilizando el módulo Protocolos y servicios de Internet, siga estos pasos:

  1. Vaya a la categoría Redes de Webmin y haga clic en el icono *Protocolos y servicios de Internet*. Si no existe, su sistema probablemente esté usando xinetd en su lugar; consulte los pasos en el párrafo anterior para obtener instrucciones sobre cómo configurarlo.
  2. En la página principal del módulo, haga clic en ftp en la tabla *Servicios de Internet*. Si no está visible, ingrese ftp en el campo *Editar servicio* y presione el botón. De cualquier manera, se mostrará la misma página para editar el servicio de protocolo FTP.
  3. En el Programa del servidor sección, seleccione Programa habilitado .
  4. En el campo Programa , seleccione el Comando e ingrese la ruta completa al ejecutable del servidor ProFTPD en el campo al lado, como /usr/sbin/proftpd . En los argumentos campo, ingrese solo proftpd . La ruta depende de si instaló el programa desde un paquete o lo compiló desde el código fuente.
  5. Configure el modo de espera para No esperar y escriba raíz en Ejecutar como usuario campo. Todos los demás se pueden dejar sin cambios.
  6. Haga clic en Guardar y luego en la página principal del módulo presione Aplicar cambios .

Una vez que ProFTPD se ha configurado para ejecutarse desde inetd o xinetd, puede probarlo utilizando el cliente FTP de Unix de línea de comandos para conectarse a su propio sistema. Simplemente ejecute ftp localhost y asegúrese de que puede iniciar sesión como un usuario que no sea root. Si su conexión de prueba falla con un error como Servicio no disponible , la causa más probable es que ProFTPD esté configurado para ejecutarse como un servidor independiente. Esto se puede solucionar fácilmente siguiendo estos pasos :

  1. Vaya al módulo Servidor ProFTPD y haga clic en el icono *Opciones de red* en la página principal.
  2. Desde el Tipo de servidor menú en el formulario que aparece, seleccione Ejecutar desde Inetd .
  3. Presiona Guardar botón en la parte inferior de la página.

Las instrucciones en el resto de este capítulo funcionarán bien sin importar en qué modo se esté ejecutando ProFTPD. La única diferencia es que Aplicar cambios El botón no aparecerá en la página principal, ya que no es necesario reiniciar un proceso del servidor para que los cambios de configuración surtan efecto. En su lugar, los cambios se aplicarán a la próxima sesión de FTP que se inicie.

Uso del módulo de servidor ProFTPD

ProFTPD utiliza un formato de archivo de configuración muy similar a Apache, por lo que la interfaz de usuario de este módulo es la misma en muchos aspectos que el módulo de configuración de Apache. En el nivel más alto de la configuración se encuentran los ajustes globales que afectan a todo el servidor. Debajo de ellos hay servidores virtuales y luego opciones de FTP anónimo, opciones por directorio y opciones que se aplican solo a ciertos comandos de FTP.

Las opciones que se aplican a cada conexión o comando FTP están determinadas por el servidor virtual conectado, el tipo de inicio de sesión, el directorio en el que se encuentra el archivo solicitado y el comando FTP específico utilizado. Las opciones establecidas por los objetos inferiores en la jerarquía anulan las de los niveles superiores, de modo que puede evitar la carga en un servidor, pero permitirlo para un directorio. De manera similar, las opciones para un directorio más específico (como /usr/local/upload) anulan las de sus padres (como /usr/local).

Un caso especial es el servidor predeterminado, que define la configuración de los clientes que no se conectan a ningún servidor virtual específico. A diferencia de Apache, las opciones establecidas en el servidor predeterminado no afectan a los servidores virtuales. En cambio, si desea especificar alguna configuración que los afecte a todos, debe estar en la sección global especial de la configuración de ProFTPD. Esto también se aplica a las opciones específicas del directorio y del comando FTP.

El módulo tiene una página para editar opciones para cada objeto en el árbol, que contiene iconos que se vinculan a los objetos más abajo. Por ejemplo, en la página de opciones del servidor virtual hay íconos para las diversas categorías de opciones que se aplican a ese servidor (como registro, usuario y grupo), junto con íconos para cualquier directorio o comando FTP que tenga sus propias opciones dentro del servidor virtual. servidor. También hay un icono para opciones específicas de conexiones FTP anónimas.

En cada página de la jerarquía hay formularios para agregar objetos (como un directorio o un grupo de comandos FTP) debajo de ella, y un Configurar icono para cambiar o eliminar el objeto actual. Cada página también contiene una Directivas de edición icono que le permite ver y cambiar manualmente las directivas de ProFTPD para el directorio, el servidor virtual o lo que sea que represente la página. La excepción es la página del servidor predeterminado, que no tiene tales iconos porque no se puede cambiar ni eliminar y porque sus directivas no se pueden separar del resto del archivo de configuración.

A primera vista, algunos de los formularios del módulo pueden parecer abrumadores, ya que muestran campos para casi todas las opciones disponibles de ProFTPD en alguna categoría relacionada con un objeto. Sin embargo, muchas de estas opciones son extremadamente especializadas y pueden ignorarse la mayor parte del tiempo. Los pasos en las diversas secciones de este capítulo explican cuáles necesita modificar para lograr algún resultado; los demás pueden dejarse como están, ya que sus valores predeterminados suelen ser adecuados.

Debido a que cada nueva versión de ProFTPD que se lanza admite nuevas directivas, este módulo puede detectar la versión que está ejecutando y ajustar su interfaz de usuario para mostrar solo aquellos campos que son válidos para su versión. Esto significa que es posible que los formularios no se vean exactamente iguales en todos los sistemas, y que algunas partes de las instrucciones de este capítulo pueden no ser válidas para su servidor FTP si está ejecutando una versión anterior.

Creación de servidores virtuales

Probablemente, la característica más útil de ProFTPD es su compatibilidad con servidores FTP virtuales. Esto le permite definir un conjunto totalmente diferente de opciones que se aplican a los clientes que se conectan a una dirección IP en particular. En la mayoría de los sentidos, son similares a los servidores virtuales basados ​​en IP de Apache, con los que la mayoría de los administradores de sitios web deberían estar familiarizados.

Los servidores virtuales solo son realmente útiles si su sistema tiene varias direcciones IP. Por lo general, esto se hace agregando direcciones IP virtuales adicionales a su interfaz de red conectada a Internet, como se explica en la página Configuración de red. Como de costumbre, cualquier dirección IP adicional debe enrutarse correctamente a su sistema:si está conectado a un ISP y se le asigna solo una dirección estática, no puede simplemente agregar interfaces virtuales adicionales y esperar que funcionen. A diferencia de Apache, ProFTPD no admite servidores virtuales basados ​​en nombres porque no existe ninguna disposición en el protocolo FTP para ellos. Los clientes nunca le dicen al servidor el nombre de host al que se están conectando, por lo que el servidor FTP solo puede usar la dirección IP en la que se recibió una conexión para determinar qué servidor virtual quiere el cliente.

Cuando su sistema recibe una conexión FTP, ProFTPD comparará la dirección conectada con las de todos los servidores virtuales configurados. El primero en coincidir define las opciones que se aplican a la conexión. Si no se encuentra ninguna coincidencia, se utiliza el servidor predeterminado en su lugar.

Para agregar un nuevo servidor FTP virtual a su sistema, los pasos a seguir son:

  1. En el módulo Configuración de red, agregue una nueva dirección IP virtual a la interfaz de red externa de su sistema. Asegúrese de que se activará en el momento del arranque y que está activo ahora.
  2. De vuelta en el módulo Servidor ProFTPD, desplácese hacia abajo hasta el formulario *Crear servidor virtual* en la parte inferior de la página principal.
  3. En la Dirección campo, ingrese la dirección IP que acaba de asignar. No debe ser utilizado por ningún otro servidor virtual ya definido.
  4. Salir del Puerto campo establecido en Predeterminado .
  5. En el Nombre del servidor seleccione el segundo botón de radio e ingrese un nombre para este servidor que se mostrará a los clientes que se conecten. Por ejemplo, podría ingresar _Servidor FTP de la Corporación Ejemplo_. Si Predeterminado está seleccionado, los clientes verán un mensaje como ProFTPD 1.2.2rc2 Server en su lugar.
  6. Presiona Crear botón para agregar el servidor. Una vez que se haya creado, será llevado a la página de opciones del nuevo servidor.
  7. Regrese a la página principal del módulo y haga clic en Aplicar cambios botón para activarlo.

Una vez que se ha creado un servidor virtual, puede configurar las opciones que se aplican a él haciendo clic en su icono en la página principal y luego en uno de los iconos de categoría. Algunos de estos se explican con más detalle más adelante en el capítulo. También es posible cambiar los atributos de un servidor virtual haciendo clic en Configurar servidor virtual , editando los campos del formulario (que tienen el mismo significado que los del formulario de creación) y haciendo clic en Guardar . O puede eliminarlo por completo presionando Eliminar servidor virtual botón en el formulario de configuración.

Configuración de FTP anónimo

En su configuración predeterminada, ProFTPD generalmente permitirá que todos los usuarios de Unix inicien sesión con sus contraseñas normales y accedan a todos los archivos del sistema con los mismos permisos que tendrían si iniciaran sesión a través de telnet o SSH. Algunos paquetes también tienen FTP anónimo habilitado para el servidor predeterminado, de modo que cualquiera pueda conectarse como usuario anónimo y ver archivos en un directorio específico. Para configurar un FTP anónimo para un nuevo servidor virtual, configure lo que pueden hacer los clientes y a qué directorios pueden acceder, siga estos pasos :

  1. En la página principal del módulo, haga clic en el icono del servidor virtual o predeterminado para el que desea configurar el FTP anónimo.
  2. En la página de opciones del servidor virtual, haga clic en el icono *FTP anónimo*. Si es la primera vez que se configura para este servidor, aparecerá un pequeño formulario para ingresar la configuración de FTP anónimo.
  3. En el Limitar al directorio ingrese el directorio al que deben restringirse los clientes anónimos, como /home/example.com/anonftp .
  4. En Acceder a archivos como usuario opción, seleccione el segundo botón de radio e ingrese el nombre de un usuario de Unix sin privilegios como ftp o nadie . Los clientes no solo estarán restringidos al directorio elegido, sino que solo podrán acceder a los archivos con los permisos de ese usuario de Unix. Naturalmente, debe asegurarse de que realmente pueda leer y enumerar el directorio y los archivos que contiene. Este usuario no debe estar en la lista de denegados de ProFTPD o tener un shell no válido. Consulte la Limitación de quién puede iniciar sesión más adelante en el capítulo para obtener más información sobre cómo editar esta lista y permitir a los usuarios con cualquier shell.
  5. Si está de acuerdo con que los clientes usen los permisos de grupo del usuario establecido en el campo anterior, deje el campo *Acceder a los archivos como grupo* establecido en Predeterminado . De lo contrario, seleccione el segundo botón de radio e ingrese un nombre de grupo en su campo.
  6. Presiona Crear para establecer la configuración inicial de FTP anónimo. Suponiendo que tenga éxito, el navegador será redirigido a la página de opciones de FTP anónimo en la que hay iconos para las diversas categorías de opciones configurables relacionadas con las conexiones de FTP anónimo.
  7. Haga clic en Autenticación y en la tabla de alias de nombre de usuario ingrese anónimo en Iniciar sesión con el nombre de usuario y el nombre del usuario que eligió en el paso 4 en Nombre de usuario real . Esto le dice a ProFTPD que los clientes que inician sesión como anónimos deben recibir los permisos de ese usuario.
  8. Haga clic en Guardar para volver a la página de opciones de FTP anónimo.
  9. En los comandos FTP campo, ingrese ESCRIBIR y presiona Crear para iniciar el proceso de definición de opciones que se aplican a los comandos FTP que modifican datos en el servidor. Accederá a la página de opciones por comando.
  10. Haga clic en el Control de acceso y seleccione Denegar todos los clientes en el Control de acceso campo de la política. Esto le dice a ProFTPD que bloquee los intentos de clientes anónimos de cargar, eliminar o renombrar archivos.
  11. Haga clic en Guardar botón.
  12. Regrese a la página principal del módulo y presione Aplicar cambios . Para asegurarse de que todo funciona, intente iniciar sesión en el servidor virtual como usuario anónimo y descargue algunos archivos.

Si está utilizando su sistema para alojar múltiples sitios web y FTP para diferentes clientes, cada uno puede tener su propio servidor anónimo virtual para que los archivos estén disponibles para las personas a través de FTP. Los navegadores asumen que las URL de ftp:// requieren un inicio de sesión anónimo y la mayoría no funciona bien con los servidores FTP que requieren autenticación.

Restringir a los usuarios a sus directorios de inicio

De forma predeterminada, los clientes que inician sesión en ProFTPD como un usuario válido de Unix (no anónimo) pueden explorar todo el sistema de archivos de su sistema, tal como lo harían si el usuario iniciara sesión a través de SSH o telnet. Sin embargo, esto no siempre es deseable en un sistema que tiene varios usuarios que no son de confianza a los que desea evitar que vean los archivos de los demás. Aunque los permisos de Unix se pueden usar para evitar que los usuarios enumeren los directorios de los demás, causan problemas si también está ejecutando un servidor web y necesita que su usuario httpd tenga acceso a los archivos de todos.

Afortunadamente, ProFTPD facilita restringir a los usuarios a sus directorios de inicio oa algún otro directorio. Debido a que esto solo se aplica a las conexiones FTP, es bastante inútil si esos mismos usuarios pueden usar telnet o SSH. Sin embargo, es fácil permitir que un usuario se conecte solo a través de FTP dándole un shell como /bin/false. En un servidor de alojamiento virtual, los usuarios solo necesitan cargar archivos para sus sitios web y no necesitan acceso de shell de Unix en absoluto. Solo asegúrese de que /bin/false o cualquier shell no funcional que elija esté incluido en el archivo /etc/shells para que ProFTPD no niegue el acceso a los usuarios.

Para restringir los directorios a los que pueden acceder los clientes FTP, siga estos pasos :

  1. Si desea que la restricción se aplique a un único servidor virtual, haga clic en su icono en la página principal del módulo y luego en Archivos y directorios icono en la página de opciones del servidor virtual. Sin embargo, esto no es recomendable ya que puede permitir a los usuarios evitar la restricción conectándose a otro servidor virtual. En su lugar, solo debe presionar Archivos y directorios icono en la Configuración global sección en la página principal:cualquier restricción definida en ella se aplicará a todos los servidores. De cualquier manera, aparecerá la página para configurar cómo el servidor enumera los directorios y cuáles están disponibles (que se muestra en la captura de pantalla a continuación).
  2. Limitar usuarios a directorios El campo es en realidad una tabla que le permite ingresar una limitación de directorio a la vez. Siempre tendrá una fila en blanco, y si esta es la primera restricción de este tipo que ha creado, eso es todo lo que contendrá. En el Directorio columna, seleccione Directorio de inicio a si ahí es donde desea que los usuarios estén restringidos. Alternativamente, puede seleccionar el tercer botón de radio e ingresar una ruta como /home o /var/www para confinar a los usuarios a ese directorio. También es posible ingresar una ruta relativa a los directorios de inicio de los usuarios, como ~/public_html . En los grupos Unix columna, seleccione Todos para que la restricción se aplique a todos los usuarios, o seleccione el segundo botón de radio e ingrese un nombre de grupo para que se aplique solo a los miembros de ese grupo. Se pueden ingresar varios grupos separando sus nombres con comas, como usuarios,personal .
  3. Haga clic en Guardar para volver a la página de opciones del servidor virtual. Si desea agregar otra restricción (como para un grupo y directorio diferente), haga clic en Archivos y directorios nuevamente y complete la nueva fila en blanco en la tabla.
  4. Cuando termine, regrese a la página principal del módulo y presione el botón *Aplicar cambios* para activar las restricciones.


El formulario de archivos y directorios

De ahora en adelante, cuando los usuarios restringidos se conecten, no podrán ver los archivos fuera del directorio especificado o incluso determinar a qué directorio se han limitado. A diferencia de otros servidores FTP que admiten este tipo de restricción, no es necesario copiar ningún archivo o biblioteca como /bin/ls en el directorio, ya que ProFTPD no depende de ningún programa externo.

Limitar quién puede iniciar sesión

ProFTPD no permite que todos los usuarios de Unix inicien sesión, incluso si tienen nombres de usuario y contraseñas válidos. El archivo separado /etc/ftpusers enumera a los usuarios que no pueden autenticarse, lo que normalmente incluye cuentas del sistema como bin, daemon y uucp. Además, hay una opción de configuración separada que controla si el usuario raíz puede iniciar sesión o no. De forma predeterminada, no lo es, porque las contraseñas enviadas por el protocolo FTP no están cifradas y, por lo tanto, permitir que el usuario root se autentique podría ser un gran riesgo para la seguridad.

ProFTPD también evita de manera predeterminada que los usuarios sin un shell válido inicien sesión. Un shell válido es uno que se encuentra en el archivo /etc/shells. Esta característica puede ser útil para evitar que un gran grupo de usuarios inicie sesión, como aquellos que se supone que solo pueden conectarse a un servidor POP3 para descargar su correo electrónico. Sin embargo, se puede apagar si es necesario.

Para editar la lista de usuarios denegados y otras restricciones de inicio de sesión, siga estos pasos :

  1. En la página principal del módulo, haga clic en Usuarios de FTP denegados icono. En el formulario que aparece hay un cuadro de texto que enumera todos los usuarios de Unix bloqueados. Edítelo para agregar o eliminar cualquiera que no deba o deba permitir iniciar sesión, y presione Guardar botón.
  2. Para permitir que el usuario raíz se conecte, haga clic en Autenticación y cambie el ¿Permitir el inicio de sesión como root? campo a .
  3. Para permitir que los usuarios con shells no listados inicien sesión, cambie el campo *¿Solo permitir el inicio de sesión de usuarios con shell válido?* a así como.
  4. Presiona Guardar para volver a la página principal, luego haga clic en Aplicar cambios para activar las nuevas restricciones.

Las opciones para permitir que el usuario raíz y los usuarios con shells no válidos inicien sesión también se pueden configurar por servidor virtual, en Autenticación icono en la página de opciones del servidor virtual. Sin embargo, generalmente no es útil desde el punto de vista de la seguridad permitir que los clientes de un solo servidor inicien sesión, ya que los usuarios pueden elegir cualquier servidor al que conectarse.

Configuración de opciones de listado de directorios

Normalmente, cuando un cliente FTP solicita una lista de directorios, ProFTPD devolverá una lista completa y precisa en el formato producido por el comando ls -l. A veces, aunque esto revela demasiada información sobre su sistema, como los nombres de usuarios y grupos o destinos de enlaces simbólicos. A menudo, puede ser útil ocultar ciertos archivos que no son relevantes para los clientes porque deben mantenerse en un directorio accesible mediante FTP por otros motivos. Este tipo de ocultación de información se aplica mejor a los usuarios de FTP anónimos, ya que no deberían poder descubrir nada sobre su sistema que no necesiten saber.

Para cambiar el formato de las listas de directorios, siga estos pasos:

  1. En la página principal del módulo, haga clic en el icono del servidor virtual o predeterminado para el que desea cambiar las listas de directorios para abrir su página de opciones.
  2. Suponiendo que solo desea cambiar la información de la lista para clientes anónimos, haga clic en FTP anónimo icono para ir a la página de opciones de FTP anónimo. De lo contrario, los usuarios normales de Unix también se verán afectados.
  3. Haga clic en Archivos y directorios para abrir un formulario similar al de la Figura 40-3 para configurar las diversas opciones de listado.
  4. Para ocultar archivos con ciertos propietarios de grupos, ingrese uno o más nombres de grupos separados por espacios en el campo *Ocultar archivos propiedad de grupos*. Tenga en cuenta que los archivos ocultos de esta manera aún se pueden descargar, renombrar o eliminar, a menos que los permisos de Unix o la configuración del servidor lo impidan.
  5. De manera similar, para ocultar archivos con cierta propiedad de usuario, complete el campo Ocultar archivos propiedad de usuarios campo con una lista de nombres de usuario de Unix.
  6. Para ocultar archivos que el usuario de FTP anónimo no podría leer, cambie la opción ¿Ocultar archivos a los que no se puede acceder? campo a .
  7. Para que ProFTPD convierta los enlaces simbólicos en los listados a sus permisos y tamaño de archivo de destino, cambie el campo *¿Mostrar enlaces simbólicos?* a . Normalmente se muestran tanto el enlace como el nombre de destino, y los permisos y la propiedad mostrados son los del enlace. Sin embargo, incluso con esta función habilitada, el destino del enlace aún debe estar dentro del directorio FTP anónimo.
  8. Normalmente, las listas de directorios incluyen el usuario real y los propietarios de grupos de archivos. Para cambiar esto, establezca el campo *¿Grupo falso en las listas de directorios?* en Sí, como grupo . Luego, en el cuadro a continuación, seleccione ftp para obligar a que el propietario del grupo se muestre siempre como ftp, o el tercer botón de opción para que se muestre como cualquier grupo que haya ingresado en el cuadro de texto adyacente. La opción *Grupo conectado* realmente solo tiene sentido para clientes no anónimos, ya que hace que los archivos parezcan ser propiedad del grupo principal del usuario conectado.
  9. Del mismo modo, puede cambiar el usuario propietario de los archivos de Unix con ¿Usuario falso en las listas de directorios? campo. Si se elige *Usuario conectado*, los archivos aparecerán como propiedad del usuario que actualmente inició sesión en el servidor FTP.
  10. De forma predeterminada, ProFTPD mostrará los permisos reales de archivos Unix en las listas. Para forzar la visualización de falsificaciones, seleccione la segunda opción en Permisos falsos en listados de directorios e ingrese un número octal como 0644 del tipo utilizado por el comando chmod. Esto no tiene ningún efecto sobre los permisos reales que se aplican si un cliente intenta descargar o cargar un archivo, por supuesto.
  11. Para ocultar archivos de puntos como .login y .profile en las listas (como suele hacer el comando ls), configure *Mostrar archivos que comiencen con . en listados?* campo a .
  12. Finalmente, presiona Guardar en la parte inferior de la página para actualizar el archivo de configuración de ProFTPD.
  13. Return to the module's main page and press the Apply Changes button to make the settings active.

As well as hiding certain files (as explained in steps 4 and 5), you can also prevent clients from reading or writing those files altogether. This can be done using the Make hidden files inaccessible? field, explained in the Restricting access to FTP commands section later in the chapter.

Message and readme files

ProFTPD can be configured to display messages to clients when they login or enter certain directories. This can be useful for notifying users of possible mirror sites, the locations of various common files on the server, and the details of the contents of a directory.

To set the messages that are displayed to clients, follow these steps :

  1. If you want the messages to be used by all virtual servers, click on the Authentication icon on the module's main page. To set messages for a specific virtual server, click on its icon and then on Authentication on the server options page. Either way, the same form will be displayed. It is also possible to set most of the message file options below for only anonymous clients by clicking on the Anonymous FTP icon on the virtual server page and then on Authentication . Naturally, you cannot set the pre-login message because the server does not know if a client is anonymous or not at that stage.
  2. In the Pre-login message file field, enter the full path to a file whose contents should be sent to clients as soon as they connect. If you don't want any message file to be used at all, select None en cambio.
  3. In the Post-login message file field, enter the path to a text file whose contents will be sent to clients after they have been properly authenticated. If the client is limited to a directory (because it logged in anonymously or has a home directory restriction in force), the file must be within and relative to that directory. If the filename is relative (like welcome.txt ), it will be searched for in the directory that the client is initially placed in.
  4. To set a message sent to clients when they request to disconnect, fill in the Logout message file campo. Again, this must be relative to and under any directory that the client is restricted to.
  5. If you have a restriction on the maximum number of simultaneous logins in force, you can set the message sent to clients blocked by it by filling in the Too many connections message file campo. You should enter a full path, which can be anywhere on your system. See the Limiting concurrent logins section for more details.# Hit the Save button at the bottom of the page to go back to the global, virtual server or anonymous FTP options page.
  6. Click on the Files and Directories icon on the same page.
  7. In the Directory README filename field, enter a relative name like readme.txt that will be searched for in each directory that a client enters. If this is the first time the client has entered the directory in this session (or if the file has changed since the last time), its contents will be sent to the FTP client.
  8. To have the server send a message to clients suggesting that a particular file should be read, fill in the *Notify user of readme files matching* field. If files in the directory matching the specified regular expression (like README.* ) exist, a short message containing their names and modification times will be sent.
  9. Haga clic en Guardar button on this form, then return to the module's main page. Finally click the Apply Changes button to activate the new message file settings.

The files sent to the client by the options covered above can contain certain special cookies that start with a %, which are replaced by ProFTPD with text determined at the time of sending. According to the ProFTPD documentation, the currently supported cookies are :

Not all may make sense in all situations though - for example, %U will not be set in the pre-login message file.

Setting per-directory options

The ProFTPD module allows you to set options that apply only to a specific directory, rather than globally or to an entire virtual server. This allows you to do things like hide a directory from clients, allow uploads by anonymous clients in just one location, or set the user and group ownership of files added to a directory.

To create a new set of per-directory options, follow these steps:

  1. If you want the options to apply to all virtual servers, enter the directory into the Directory path field in the *Add per-directory options for* form on the module's main page and hit the Create botón. Alternately, you can limit them to a particular virtual server by clicking on its icon and using the same form on the virtual server options page. Or you can define options that only apply to anonymous clients by hitting the Anonymous FTP icon for a virtual server and using its directory options creation form. In all cases, the directory should be entered as an absolute path like /usr/local . It is also possible to specify a path relative to the connecting user's home directory, like ~/public_html . You can even enter a path in a particular user's home directory, like ~jcameron/www . Normally, the options will apply to the directory and all its contents and subdirectories. To have them apply to only the contents and not the directory itself, add /* to the end of the path that you enter, like /usr/local/* .
  2. After hitting Create , you will be taken to a page of option category icons for the directory as shown in Figure 40-4. As usual, clicking on these icons will take you to forms for configuring various settings that apply only to requests for and listings of that directory.
  3. To totally deny access to clients, click on Access Control and change the Access control policy field to Deny all clients, then click Save .
  4. Normally, files uploaded by clients will end up owned by the Unix user that the client logged in as. To change this, click on the User and Group icon and enter a username for the *Owner of uploaded files* field. Uploaded files' group will be the primary group of the specified user, unless you fill in the Group owner of uploaded files field as well. Again, click Save after making any changes to return to the per-directory options page.
  5. To limit only the uploading or downloading of files in this directory, you will need to create a set of per-command options under it. The Restricting access to FTP commands section explains how.
  6. To activate your changes for this directory, return to the module's main page and hit the Apply Changes botón.


The per-directory options page

You can also remove a directory options object from the ProFTPD configuration entirely by clicking on Configure Directory and then hitting the Delete directory config botón. All settings and per-command options for the directory will be immediately and permanently deleted from the FTP server's configuration.

If you define options for both a directory and one of its children (such as /usr/local and /usr/local/bin ), ProFTPD will always give precedence to the most specific directory when deciding which options to apply to a particular client request. This means that a setting made for /usr/local will apply to a download of /usr/local/bin/foo, unless it is overridden by a setting for /usr/local/bin.

Restricting access to FTP commands

When a client wants to download or upload a file, list a directory or perform any other operation it sends a command to the server. ProFTPD can be configured to restrict which commands a client can use for a particular virtual server or directory, or when logged in anonymously. However, before you can do this you need to have a basic understanding of which FTP commands exist and what they do. The table below lists the ones that are relevant for access control purposes :

ProFTPD allows you to define options that only apply to particular client commands or groups of commands. Typically, this is used to deny access to certain operations, such as uploading by anonymous FTP users. It is also possible to allow or deny only certain Unix users, or only clients connecting from certain addresses.

To create a new set of per-command options, follow these steps:

  1. First decide if the options should apply to commands only in a particular directory, only to clients of a virtual server, only to anonymous clients or to all users of your FTP server. On the per-directory, virtual server, anonymous FTP and main pages is a form titled Add per-command options for . In the FTP commands field, enter one or more commands from the list above, separated by spaces. When you hit the Create button, your browser will be taken to the page shown in Figure 40-5.
  2. Click on the Access Control icon to bring up a form for restricting who can use these commands.
  3. To completely deny access to everyone, change the *Access control policy* field to Deny all clients . Conversely, to allow access select Allow all clients en cambio. This is most useful if you are editing options for commands within a directory and there is a set of options for the same commands at a higher level (such as for the virtual server or anonymous FTP) that denies access. For example, typically anonymous clients cannot use the WRITE commands, but you may want to allow it for a particular directory.
  4. To only allow certain Unix users or members of certain group access to the commands, fill in the Only allow users and Only allow group los campos. Multiple user or group names must be entered separated by spaces.
  5. Similarly, to deny certain users and groups while allowing everyone else access to the FTP commands, fill in the *Deny users* and Deny groups los campos.
  6. The Restrict access table can be used to block clients from certain IP addresses by entering a series of rules. The three radio buttons at the top control the order in which entries in the table are evaluated. If Deny then allow is selected, any client that matches a Deny row or which does not match an Allow row will be blocked. Conversely, if Allow then deny is chosen only clients that match a Deny row and do not match an Allow will be prevented from using the commands. This mode is also the default. The table will always have one empty row for adding a new rule, and because this is a new set of per-commands options that is all it will contain. In the empty row select either Allow or Deny from the Action menú. Then from the Condition menu choose one of the following to determine which clients match and thus are allowed or denied. *All *All clients match, no matter where they are from. *None *No clients match the rule. *IP address *Only clients from the IP address entered in the adjacent text field match. *Network *Only clients from the IP network entered match. The network address must be a partial IP with a trailing dot, like 192.168.1. . *Hostname *Only clients whose IP address reverse-resolves to the entered name match. You can specify an entire domain by putting a dot at the front, like .example.com . If you want to add more than one rule, you will need to re-enter this page after saving so that a new blank row appears. To delete a rule, select the blank option from the Action menú.
  7. When you are done choosing who can use the FTP commands, hit the Save botón. Then return to the module's main page and click Apply Changes to make the restrictions active.


The per-command options page

Configuring logging

By default, ProFTPD logs all transfers to the file /var/log/xferlog in the standard FTP logging format (unless a different path has been selected at compile time). However, you can configure the server to log transfers to and from each virtual server differently, and anonymous FTP traffic as well. This is most useful in a virtual hosting environment, in which your system hosts FTP sites for many different customers.

It is also possible to define additional log files that use different formats, and optionally include only a subset of FTP commands. This can be useful if you only care about uploads, and don't want your log files clogged up with useless information.

To configure where and how logs are written globally or for an individual virtual server, the steps to follow are :

  1. If you want to change the location of the global log file that is used for all transfers (unless overridden by a virtual server), click on the Logging icon on the main page. Alternately, if you want to configure a specific virtual server to use a different log file, click on its icon and then on Logging on the virtual server options page. To change the logging settings for anonymous clients only, click on a virtual server icon, then on Anonymous FTP and finally on the Logging icon on the anonymous FTP options page.
  2. On the resulting logging options form, the *FTP transfers logfile* field controls where logs are written to. To specify a file, select the last option and enter a full path like /var/log/example.com.xfers into the adjacent text field. To turn off logging altogether, select Logging disabled . To use the global default, select the Default option (if you are editing the global logging settings, ProFTPD will use the compiled-in default log file /var/log/xferlog).
  3. The Custom logfiles table can be used to define additional logs for specific commands and with arbitrary formats. As usual, it will always have one empty row for adding a new custom log file. To add one, fill in the fields under these headings :*Logfile *The full path to the log file, such as /home/example.com/ftplog . For FTP commands *If *All is selected, all FTP commands will be logged. However, if you choose the second option only those command classes in the adjacent text box will be included. Recognized classes are NONE (no commands), ALL (all commands), INFO (information requests), DIRS (directory navigation), READ (file download), WRITE (file upload and directory creation), SITE (non-standard commands like CHMOD) and MISC (other miscellaneous commands). Multiple classes must be separated by commas, like READ,WRITE . You cannot use the names documented in the Restricting access to FTP commands sección. *Log format If *Default is selected, the standard FTP log format will be used. But if the second option is chosen, you must enter a recognized log format name into the text box. The next paragraph explains how to set up named log formats. Because only one empty row appears in the table, you can only add one custom log at a time. To add more, click on the Logging icon again after saving and fill in the new blank row. To delete a custom log, just clear out its field in the Logfile columna.
  4. Presiona Guardar button to save the new settings, and then *Apply Changes* on the main page to activate them.

If you want to use your own custom formats for log files, they must first be defined globally. The steps to create a format are :

  1. On the module's main page, click on the Logging icon to bring up the global log file options page.
  2. The Custom log formats table is for defining your own formats. In the first blank field under Format name , enter a short name for your new format such as filesonly . In the field next to it under Format string , enter text containing the log codes recognized by ProFTPD, like Downloaded %f at %t . The special codes in the string starting with % are replaced by the server with information about the command, as explained in the table below. As usual, you can add more than one custom format by re-entering the page after saving so that a new blank row appears. A format can be deleted by just clearing out its Format name campo.
  3. Haga clic en Guardar button to return to the main page, and then click Apply Changes . The new format can now be used in custom log files.

Limiting concurrent logins

If your system is configured to allow anonymous FTP logins and you expect to receive a lot of traffic, it makes sense to limit the number of connections that can be open to the FTP server at any one time. This puts a ceiling on the network and CPU load that FTP transfers can generate, which is important if the system is being used for some other purpose (such as running a web server).

This limit can be set globally, on a per-virtual server basis or just for anonymous clients. This means that you can set a limit that applies to all servers, and then increase or decrease it for a particular virtual host. Or you can set a lower limit for anonymous clients versus those that have valid logins.

ProFTPD can also be configured to limit the number of concurrent connections that a single client host can have. This is useful if you want to stop people downloading more than one file at a time from your server, and thus taking more than their fair share of bandwidth.

To set a connection limit for your server, follow these steps:

  1. If you want to set a global limit, click on the *Networking Options* icon on the module's main page. To set a limit for a single virtual server, click on its icon and then on *Networking Options*. To define a limit that applies only to anonymous clients, click on the icon for a virtual server, then on *Anonymous FTP* and finally on the Networking Options icon on the anonymous FTP options page.
  2. On the form that appears, find the Maximum concurrent logins campo. To set a limit, select the third radio button and enter a number in the text box next to it. Alternately, you can select Unlimited to turn off any restriction that applies to this virtual server that has been set globally.
  3. To define an error message sent to clients that try to connect when the limit has been reached, enter it into the *Login error message* box in the Maximum concurrent logins campo. If the message contains the special code %m it will be replaced with the maximum allowed number.
  4. To set the per-client host limit, fill in the *Maximum concurrent logins per host* field in the same way. It also has a *Login error message* box that can be used to set a message sent to FTP clients that exceed the limit.
  5. If you are editing the global networking options, you can also set a limit on the total number of ProFTPD sub-processes that can be active at any one time. This is useful for protecting your system from denial-of-service using hundreds of useless connections. Just select the second option for the *Maximum concurrent sessions* field and enter a number into its adjacent text box. If Default is selected, no limit will be enforced. If you are running the server from a super-server like inetd or xinetd, this limit will have no effect. Fortunately, both those servers have configuration options that can be used to achieve the same result.
  6. When you are done editing client restrictions, hit the *Save *button at the bottom of the form to update the ProFTPD configuration, and then the Apply Changes button back on the main page.

Restricting clients by IP address

By default, ProFTPD will allow clients to connect from any IP address. However, like everything else this is configurable so that you can restrict access to systems on your own network, either globally or for particular virtual servers. This comes in handy if you are setting up an FTP server that is for internal use only, even though the system it is running on is accessible from the Internet.

To restrict clients by address, follow these steps:

  1. To create a global restriction that will apply to all virtual servers, enter LOGIN into the FTP commands field of the Add per-command options for form on the module's main page, then click Create . If you only want to limit who can connect to a particular virtual server, click on its icon before entering LOGIN into the same form on the virtual server options page.
  2. Regardless of what level the restriction is being defined at, you will be taken to the per-command options page shown above. Click on the Access Control icon to go to the aptly-named access control form.
  3. The Restrict access table can be used to block clients from certain IP addresses by entering a series of rules. The three radio buttons at the top control the order in which entries in the table are evaluated. If Deny then allow is selected, any client that matches a Deny row or which does not match an Allow row will be blocked. Conversely, if Allow then deny is chosen only clients that match a Deny row and do not match an Allow will be prevented from logging in. This mode is also the default. The table will always have one empty row for adding a new rule, and because this is a new set of per-commands options that is all it will initially contain. In the empty row select either Allow or Deny from the Action menú. Then from the Condition menu choose one of the following to determine which clients match and thus are allowed or denied.
  • All
    All clients match, no matter where they are from. *None *No clients match the rule.
    IP address
    Only clients from the IP address entered in the adjacent text field match.
    Network
    Only clients from the IP network entered match. The network address must be a partial IP with a trailing dot, like 192.168.1. .
    Hostname
    Only clients whose IP address reverse-resolves to the entered name match. You can specify an entire domain by putting a dot at the front, like .example.com . If you want to add more than one rule, you will need to re-enter this page after saving so that a new blank row appears. To delete a rule, select the blank option from the Action menú.
  1. When you are finished entering client restrictions, hit the Save botón en la parte inferior del formulario. Then return to the main page and click Save and Apply to activate them.

Commonly, you will want to give only clients on a single network access. To do this, select the Deny then allow option, choose Allow from the Action menu , Network from the Condition menu and enter the network address with a trailing dot (like 10.254.1.) into the condition text box.

Limiting uploads

If clients are allowed to upload files to your server, they will be able to choose any name that they wish for uploaded files. Sometimes this is not desirable though - you may want to allow the storing of only image files whose names end with .gif or .jpg, or prevent the uploading of Windows executables with filenames ending in .exe or .com. Fortunately, ProFTPD has configuration options that allow you to set this up.

There are also several other settings that apply to uploads, which control whether clients are allowed to overwrite files and if partially transferred files are visible. All can be set globally, for a single virtual server or for anonymous clients only. The steps to set these options are :

  1. If you want to the settings to be global, click on the *Files and Directories* icon on the module's main page. To have them apply to just a single virtual server, click on its icon and then on Files and Directories . Or to effect just clients that login anonymously, click on a virtual server icon, then on Anonymous FTP and finally on Files and Directories icon on the virtual server options page. No matter which configuration object you chose, the files and directories form that appears will be almost identical.
  2. To hide files that are in the process of being uploaded, change the Hide files during upload? campo a . This tells ProFTPD to use a temporary file whose name starts with .in. for transferred data, which is only renamed to the real filename when the upload is complete. This prevents incomplete partial uploads, and stops files being downloaded or accessed while they are still being sent.
  3. To have ProFTPD delete uploaded files that are not fully transferred, select Yes for the Delete aborted uploads? campo. Again, this prevents corrupt partially uploaded files from being created on your system.
  4. To allow users to only create files whose relative names match a certain pattern, fill in the *Allowed uploaded filename regex* field with a Perl regular expression. For example, to only allow GIF files you might enter ^.*\.gif$ . Because clients are normally allowed to rename files, this option alone is not enough to stop the creation of invalid filenames. You will also need to block access to the RNFR command, as explained in the Restricting access to FTP commands sección.
  5. Alternately, you can block the use of certain filenames by filling in the Denied uploaded filename regex field with a regular expression like ^.*\.exe$ . If both this and the previous field are set, only files that match the allow expression but not this deny expression will be permitted. Another common use of this option is blocking the upload of .ftpaccess or .htaccess files, which set per-directory ProFTPD and Apache options.
  6. Presiona Guardar botón en la parte inferior de la página.
  7. If you want to stop clients overwriting files with new uploads, click on the Access Control icon and change the *Allow overwriting of files?* field to No . This can be useful on an server that allows anonymous users to upload to a particular directory, perhaps for incoming files of some kind. Don't forget to click Save if you make this change.
  8. Return to the module's main page and hit the Apply Changes button to activate your new filename restrictions.

Manually editing directives

If you prefer to manually edit your ProFTPD configuration file in some cases or just want to see which directives an action in Webmin has set, you can do so using this module. Except for the default server, every object's options page (virtual server, per-directory and per-command) has an icon labeled Edit Directives . When clicked on it will take you to a form containing a large text box showing the lines from the configuration file in the section related to the object. You can edit them to your heart's content, then click the Save button to update the actual file. Be aware though that no validation of your input is done. Also, you will need to use the Apply Changes button on the module's main page to activate any changes, as usual.

To view and edit the entire ProFTPD configuration, use the *Edit Config Files* icon on the module's main page. This will bring up a similar form, but showing and allowing the editing of a complete configuration file at once. Because ProFTPD can read multiple configuration files (though the use of Include directives), at the top of the form is a button labeled Edit Directives in File with a menu of filenames next to it. To switch the view to a different file, just select the one you want and hit the button. Normally though only a single proftpd.conf file will be used.


Webmin
  1. Servidor WU-FTPD

  2. Cómo instalar ProFTPD en CentOS 7

  3. Cómo instalar ProFTPD en Ubuntu 14.04

  4. Cómo instalar ProFTPD en Ubuntu 15.04

  5. ¿Servidor FTP básico de Ubuntu?

¿Cómo Instalar Un Servidor Ftp?

¿Cómo instalar un servidor FTP en Ubuntu?

Cómo configurar un servidor FTP con ProFTPD en Ubuntu 18.04

Cómo instalar un servidor FTP con ProFTPD en RockyLinux 8

¿Cómo instalar FTP en Ubuntu 18.04?

Instalar FTP en Windows Server 2012 (R2)

    Nota: Como los clientes FTP modernos admiten SSH, considere usar un servidor SSH en lugar de un servidor FTP, para (mucha) más seguridad de la que cualquier servidor FTP puede prometer