Servidor FTP ProFTPd

ProFTPd (proftpd.org, paquete proftpd), es uno de los servidores más utilizados en Linux, es muy configurable y está bien documentado.

Durante la instalación nos preguntará si queremos ejecutar ProFTPd como demonio independiente o mediante inetd (escogeremos standalone) y se creará el usuario ftp, con directorio personal /home/ftp, shell /bin/false y sin contraseña. El directorio /home/ftp sólo contiene el archivo welcome.msg, cuyo contenido se muestra al conectarse.

El archivo de configuración de ProFTPd es /etc/proftpd/proftpd.conf. Veamos algunas de sus principales directivas:

  • directorio al que entrará el usuario (por defecto es su directorio personal "~"):
    DefaultChdir ~
  • directorio donde se encierra el servidor, de modo que no se pueda acceder a directorios superiores. Esto equivale a chrootear el server. Nunca debemos poner el directorio raíz ("/"), ya que los usuarios tendrán acceso a todo el sistema.
    DefaultRoot ~
  • mostrar o no los links (off/on).
    ShowSymlinks off
  • si queremos aplicar directivas sólo a un directorio, las pondremos dentro de un bloque Directory:
    <Directory [directorio]>
        directivas...
    </Directory>
  • para indicarle a ProFTPd que un directorio debe ser tratado como un directorio de acceso anónimo y aplicarle directivas específicas, usaremos:
    <Anonymous [directorio]>
        directivas...
    </Anonymous>
  • podemos especificar quién puede hacer qué:
    <Limit [LOGIN] [READ] [WRITE] [STOR] [ALL]>
        quien...
    </Limit>
  • para limitar el acceso usaremos:
    <Limit LOGIN>
        quien...
    </Limit>

Grabamos los cambios y reiniciamos el demonio proftpd:

# /etc/init.d/proftpd restart

Para probar el servidor nos conectaremos con un cliente FTP (ftp://<IP_del_servidor>), nos loguearemos con usuario y contraseña y comprobaremos que accedemos a la carpeta personal, que podemos subir y bajar archivos al servidor y que no podemos escalar en el árbol de directorios.

Comandos de ProFTPd

ProFTPd proporciona varios comandos útiles.

  • El comando ftpwho nos permite ver qué usuarios están conectados en un momento dado, qué están haciendo y desde cuándo están conectados:
    $ ftpwho
    standalone FTP daemon [2178], up for 2 hrs 22 min
        2420 francis [2m 36s] 2m 01s idle
    Service class           - 1 user
  • El comando ftptop monitoriza ProFTPd en tiempo real:
    $ ftptop
  • Para expulsar a un usuario del servidor FTP, miraremos el ID de su proceso con cualquiera de los dos comandos anteriores (ftpwho o ftptop) y mataremos el proceso. Por ejemplo, para tirar al usuario francis, cuyo ID es 2420, haremos:
    # kill -9 2420

Frontales gráficos para configurar ProFTPd

  • GProFTPd (gadmintools.org, paquete gproftpd): frontal para configurar ProFTPd escrito en GTK.

    GProFTPd

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>