miércoles, 10 de junio de 2009

Montar un Servidor FTP en Debian.

Instalacion:
#apt-get install proftpd

Pasos previos:
Creamos una carpeta raiz y una carpeta donde subir archivos, y le damos los permisos necesarios. Lo crearemos en /home/ por ejemplo:
# mkdir /home/ftp
# mkdir /home/ftp/subir
# chmod 755 /home/ftp
# chmod 777 /home/ftp/subir

Configuración:
Para la configuración, editamos el fichero /etc/proftpd.conf
#nano /etc/proftpd.conf

Encontraremos los siguientes parámetros de configuración:

ServerName "Nombre_del_servidor_ftp"
#Pondremos el que queramos, Servidor FTP es un ejemplo.

ServerType standalone/inetd
#Nosotros usaremos standalone en vez de inetd
.

DeferWelcome off/on
#En nuestro caso pondremos off ya que no queremos mostrar ningún mensaje de entrada
.

ServerIdent on/off "nombre"
#Usaremos on "nombre", en este apartado hay que ser común y poner un nombre específico.

MultilineRFC2228 on/off
#Usaremos on, ya que esto hará que nuestro servidor ftp sea compatible con casi todos los clientes ftp
.

DefaultServer on/off
#Usaremos on, toma las opciones default de un servidor ftp.

ShowSymlinks on/off
#Usaremos on, podremos ver los links, si el link esta fuera de nuestro home no tendremos acceso a él.

AllowOverwrite on/off
#Usaremos off, permite sobreescribir ficheros existentes
.

TimeoutNoTransfer
#El número es el máximo número de segundos que puede estar un cliente en el ftp, sin transferencia de información ej: 600
.

TimeoutStalled
#el número máximo de segundos que puede estar cliente-servidor sin recibir informacion de una transferencia, ej: 60.

TimeoutIdle
#el número máximo de segundos que puedes estar un usuario sin hacer nada , ej: 120.

DenyFilter \*.*/
#Es un filtro de protección para el ProFTPd.

Port
#Usaremos el 21, ya que es el número de puerto predeterminado .

MaxInstances
#número de conexiones al ftp que se pueden hacer a la vez, ej: 2
.

User nobody
Group nogroup
AccessGrantMsg "mensaje"
#El mensaje sera mostrado si la conexion del usuario ha sido correcta(el user y password ha sido el correcto)
.

AccessDenyMsg "mensaje"
#El mensaje sera mostrado si la conexion del usuario ha sido incorrecta...

LogFormat default "%h %l %u %t \"%r\" %s %b"
#Con LogFormat [nombre_formato] "formato", el nombre_formato se lo ponemos nosotros

LogFormat auth "%v [%P] %h %t \"%r\" %s"
#Para ser usado despues con ExtendedLog

LogFormat write "%h %l %u %t \"%r\" %s %b"
TransferLog /var/log/proftpd/transfer
#Loguea las transferencias que se realice con el servidor
.

ExtendedLog /var/log/proftpd.down_up_log WRITE,READ write
#ExtendedLog es para loguear con una serie de caracteristicas
.

ExtendedLog /var/log/proftpd.auth_log AUTH auth
#ExtendedLog [lugar_donde_se_guarda_el_log] [Que_logear] [nombre_formato]
.

ExtendedLog /var/log/proftpd.paranoid_log ALL default
#WRITE(escritura),READ(lectura),AUTH(autentificacion, logging) y ALL(todo)
.

DefaultRoot ~
#Con esto hacemos chroot en el home de nuestro usuario, es decir, no permitiremos que pueda subir más directorios
.

AuthUserFile "/etc/passwd"
#Le decimos donde tenemos el archuvo de los usuarios
.

AuthGroupFile "/etc/group"
#Le decimos donde tenemos el archivo de los grupos
.

MaxClients "mensaje"
#Máximo número de clientes que pueden estar a la vez en en servidor ej: MaxClients 6 "Max %m usuarios"
.

MaxClientsPerHost "mensaje"
#Máximo número de clientes por Host(ip) ej: MaxClientsPerHost 2 "Solo 2 conexiones por HOST"
.

MaxClientsPerUser "mensaje"
#Máximo numero de clientes por usuario ej: MaxClientsPerUser 2 "Solo 2 conexiones por usuario". El mensaje aparece cuando superamos el número permitido
.

RequireValidShell off
#Los usuarios no requieren, ni deben, de tener una sh


Para terminar. Añadimos las siguientes líneas:

(Pulsa, sobre la imagen para verlo en mejores condiciones.)



No hay comentarios:

Publicar un comentario