El paquete ProFTPD contiene un demonio FTP seguro y altamente configurable. Sirve para proporcionar acceso a grandes cantidades de ficheros en una red.
Descarga (FTP): ftp://ftp.proftpd.org/distrib/source/proftpd-1.2.8p.tar.bz2
Tamaño del paquete: 729 KB
Estimación del espacio necesario en disco: 6.3 MB
Tiempo estimado de construcción: 0.26 SBU
Por razones de seguridad, se recomienda ejecutar ProFTPD con usuario y grupo sin privilegios.
groupadd proftpd && useradd -c proftpd -d /home/ftp -g proftpd -s /bin/false proftpd |
Instala ProFTPD ejecutando los siguientes comandos:
install_user=proftpd install_group=proftpd \ ./configure --prefix=/usr --sysconfdir=/etc \ --localstatedir=/var && make && make install |
install_user=proftpd install_group=proftpd : Especifica el usuario y el grupo para ProFTPD.
--prefix=/usr : Esto instala ProFTPD en /usr en vez de en /usr/local.
--sysconfigdir=/etc : Esta opción evita que los ficheros de configuración se copien en /usr/etc.
--localstatedir=/var : Esto hace que se utilice /var en vez de /usr/var para los ficheros de bloqueo (lock) y registro.
/etc/proftpd.conf
Esta es un ejemplo de configuración simple que sólo permite descargas. Revisa la documentación de ProFTPD en /usr/share/doc/proftpd y consulta su página en Internet http://www.proftpd.net/ para ver más ejemplos de configuración.
cat > /etc/proftpd.conf << "EOF" # Este es un fichero de configuración básico para ProFTPD # Establece un servidor y un acceso para un usuario anónimo. ServerName "Instalación básica de ProFTPD" ServerType standalone DefaultServer on # 21 es el puerto estándar para FTP. Port 21 # Umask 022 es un buen estándar para evitar que los nuevos directorios y ficheros # se creen con permisos de escritura para el grupo y otros. Umask 022 # Para prevenir ataques DoS (Denegación de Servicios), establecemos un límite # de 30 procesos hijo. Si necesitas más de 30 conexiones concurrentes a la vez, # simplemente aumenta este valor. Ten en cuenta que esto SÓLO funciona si se # ejecuta ProFTPD desde un guión de inicio, si usas algún servidor inetd deberías # usar uno que te permita limitar el número de procesos por servicio # (por ejemplo, xinetd). MaxInstances 30 # El usuario y grupo bajo los cuales se ejecuta normalmante el servidor. User proftpd Group proftpd # En general, queremos que se puedan sobreescribir los ficheros. <Directory /*> AllowOverwrite on </Directory> # Una configuración básica con acceso anónimo, sin directorios para subir ficheros. <Anonymous ~proftpd> User proftpd Group proftpd # Queremos que los clientes puedan acceder como usuario "anonymous" o "proftpd" UserAlias anonymous proftpd # Máximo número de conexiones anónimas. MaxClients 10 # Queremos mostrar el contenido de 'welcome.msg' en el ingreso, y el de '.message' # cada vez que se cambie de directorio. DisplayLogin welcome.msg DisplayFirstChdir .message # Limitar la escritura en cualquier lugar del chroot anónimo. <Limit WRITE> DenyAll </Limit> </Anonymous> EOF |
cat > /etc/rc.d/init.d/proftpd << "EOF" #!/bin/sh # Inicio de $rc_base/init.d/proftpd # Basado en el guión sysklogd de LFS-3.1 y anteriores. # Reescrito por Gerard Beekmans - gerard@linuxfromscratch.org source /etc/sysconfig/rc source $rc_functions case "$1" in start) echo "Iniciando el servidor FTP..." loadproc /usr/sbin/proftpd ;; stop) echo "Deteniendo el servidor FTP..." killproc /usr/sbin/proftpd ;; reload) echo "Recargando el servidor FTP..." reloadproc /usr/sbin/proftpd ;; restart) $0 stop sleep 1 $0 start ;; status) statusproc /usr/sbin/proftpd ;; *) echo "Uso: $0 {start|stop|reload|restart|status}" exit 1 ;; esac # Fin de $rc_base/init.d/proftpd EOF chmod 755 /etc/rc.d/init.d/proftpd |
Crea los enlaces simbólicos a este fichero en los directorios rc.d adecuados con los siguientes comandos:
cd /etc/rc.d/init.d && ln -sf ../init.d/proftpd ../rc0.d/K50proftpd && ln -sf ../init.d/proftpd ../rc1.d/K50proftpd && ln -sf ../init.d/proftpd ../rc2.d/K50proftpd && ln -sf ../init.d/proftpd ../rc3.d/S50proftpd && ln -sf ../init.d/proftpd ../rc4.d/S50proftpd && ln -sf ../init.d/proftpd ../rc5.d/S50proftpd && ln -sf ../init.d/proftpd ../rc6.d/K50proftpd |
El paquete ProFTPD contiene ftpcount, ftpshut, ftptop, ftpwho y proftpd.
ftpcount muestra la cantidad de conexiones actuales.
ftpshut detiene todos los servidores proftpd en un momento determinado.
ftptop muestra el estado de ejecución de las conexiones.
ftpwho muestra información sobre los procesos actuales para cada sesión.
proftpd es el propio servidor.