Instalar y configurar ProFTPD en Debian

por admin

Esto es un pequeño manual que trata de explicar como instalar y configurar un Servidor de FTP potenete como lo es ProFTPD en Debian GNU/Linux.-

Abrimos una shell y escribimos

apt-get install proftpd

Escogemos la opción standalone (independiente) ya que con esta opción el administrador decide cuando arrancar el servidor y cuando detenerlo. La opción Inetd arranca y detiene el servidor cada vez que un usuario solicita una conexión a el.

los archivos del servidor son:

/usr/bin/proftpd
El propio servidor de FTP.

/usr/bin/ftpwho
Una utilidad que muestra información sobre los procesos de cada usuario actualmente conectado al servidor.

/usr/bin/ftpcount
Utilidad que muestra el número de conexiones actuales.

/usr/bin/ftpshut
Orden para apagar el servidor, sólo funciona en modo “standalone”.

/var/log/proftpd/proftpd.log
Fichero con la información sobre los “logs” en el servidor, habría que decidir qué política de rotación se desea seguir.

/etc/proftpd/proftpd.conf
El fichero donde configuraremos las diversas opciones que nos ofrece el servidor, en él nos centraremos a continuación, es realmente el único que manipularemos.

Con esto ya tenemos funcionando un servidor FTP demasiado básico para ello procedemos a la configuración:

Hay dos formas de configurar ProFTPD, una es teniendo en cuenta a los usuarios del sistema o usuario anónimos. Como no sabemos quienes se van a conectar pero si sabemos con que login lo harán escogemos la configuración para usuarios anónima.

cat /etc/passwd

Veremos que se ha agregado un usuario llamado “FTP” que es el que nos crea ProFTPD al instalarlo.-
este será el user: para el login al servicio de FTP.- si deseamos que además tenga un password haremos como root:

passwd ftp

y le agregaremos la contraseña.
Sino en el archivo /etc/passwd pondremos un * en el segundo campo del usuario.

Chequeamos que su shell sea:
/bin/false/ puesto que si es /bin/bash podrá acceder y ejecutar comando bash no solo por el puerto 21 sino por el 22 de ssh por ejemplo y hacer estragos.

añadimos el usuario ftp a al grupo ftp

adduser ftp ftp

si no esta creado el usuario ftp haremos

adduser ftp -s /bin/false

si no esta creado el grupo haremos:

addgroup ftp

Con esto ya tenemos configurada la cuenta de login. Para ser un poco mas ordenado en el directorio /home/ftp/ crearemos dos directorios llamados upload y download donde se realizarán las subidas y las descargas respectivamente.-

mkdir upload
mkdir download

le damos los permisos correspondientes

chmod a+rw -R upload
chmod 755 -R download

cambiamos de dueño:

chown ftp upload
chown ftp download

Ahora si a editar el proftpd.conf, chequea tener habilitado el puerto 21:

# si aun no tienes ipv6 pon en off esta opcion
UseIPv6
off
ServerName "server_name"
ServerType standalone
DeferWelcome on
MultilineRFC2228 on
DefaultServer on
ShowSymlinks off
# tiempo medido en segundos
TimeoutNoTransfer 600
TimeoutStalled 600
TimeoutIdle 1200
MaxInstances 15
MaxClientsPerUser 3
User nobody
Group nogroup
# Umask 022 is a good standard umask to prevent new files and
dirs
# (second parm) from being group and world writable.
#Indicar cual es la raiz
DefaultRoot /home/ftp/
# configuracion para usuarios anonymous
<Anonymous ~ftp>
User ftp
Group ftp
RequireValidShell off
# con esto el usuario ftp tambien se podra loguear con el nombre de anonimo
UserAlias anonimo ftp
MaxClients 5
DisplayLogin welcome.msg
DisplayFirstChdir .message
# indico que el directorio raíz es de solo lectura
<Directory /home/ftp>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# indico que el directorio upload es de lectura y escritura pero no podrá sobreescribir archivos.-
<Directory /home/ftp/upload>
Umask 744
AllowOverwrite off
<Limit READ>
DenyAll
</Limit>
<Limit WRITE CWD>
AllowAll
</Limit>
</Directory>
# indico que el directorio download es de solo lectura
<Directory /home/ftp/download>
Umask 444
<Limit READ>
AllowAll
</Limit>
</Directory>
</Anonymous>

reiniciamos el servidor

/etc/init.d/proftpd restart

Por defecto el demonio arranca al iniciar el sistema pero si queremos que no lo haga entonces removemos el enlace en /etc/rcX.d/

rm /etc/rcX.d/S50proftpd

donde X es el numero de RunLevel, para saber el tuyo haz:

cat /etc/inittab | grep id

de lo contrario

ln -s /etc/init.d/proftpd /etc/rcX.d/S50proftpd
Compartelo:
  • Meneame
  • BarraPunto
  • Digg
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
Relacionado:
LAMP en openSuse
Como añadir un Disclaimer al correo saliente con alterMIME (Postfix On Debian Etch)
Instalando LAMP
DNS Server usando MySQL: MyDNS (Parte I)

3 Comentarios para“Instalar y configurar ProFTPD en Debian”

  1. me sirvio tu archivo de configuracion,
    gracias. Solo que le falta el puerto.
    De todas manera me fue muy util
    saludos
    s

  2. Esto es pura mierda!!!!

  3. Ya te digo javi!!

Responder

Debes iniciar sesion para comentar.