Vous êtes sur la page 1sur 6

vensign.

com

http://vensign.com/servidor-ftp-con-proftp-en-ubuntu-debian/

Servidor FTP con proftp en Ubuntu / Debian


olivers

En este tutorial vamos a hablar de cmo instalar y configurar un servidor FTP con restriccin de usuarios en Debian
/ Ubuntu, proftp es un servidor de ftp robusto y fcil de configurar vamos a ver como lo instalamos:
Este tutorial est basado en la sigueinte gua http://ubuntuforums.org/showthread.php?t=79588

Primero para instalarlo ejecutamos el siguiente comando:


Ubuntu
sudo apt-get install proftpd
Debian (como root)
apt-get install proftpd
Aparece una pantalla para que elijas entre dos opciones inetd o standalone, ahorita no voy a explicar cuales son las
ventajas y desventajas de cada una te acosejo que elijas standalone a menos que ya hayas utilizado inetd.
Luego por razones de seguridad vamos a crear un shell falso para el acceso de ftp para esto vamos a agregar una
linea en el archivo /etc/shell:
Ubuntu
sudo gedit /etc/shells
Debian
nano /etc/shells
Nota: Si estamos en la consola tambin podemos editar los archivos con vim
Y agregamos la siguiente lnea al final del archivo:
/bin/false
Esto va a evitar que cualquier usuario que utilice el ftp puede accesar a nuestra consola de comandos
Ahora creamos un directorio donde se guardarn los archivos que compartiremos en el ftp:
cd /home
sudo mkdir FTP-public
Ahora vamos a crear un usuario para accesar al ftp con los siguientes comandos:
sudo useradd userftp -p tu_password -d /home/FTP-public -s /bin/false
Claro puedes cambiar userftp por el nombre que quieras y coloca el password en donde dice tu_password.
Analicemos un momento este comando, useradd permite aadir un usuario le estamos dando las siguientes

opciones: -p para definir el password, -d para definir cual va a ser el directorio principal o home del usuario y -s para
indicarle cual es el shell por defecto del usuario, para ms informacin de este comando puedes colocar man
useradd en la consola.
Ahora vamos a crear dos directorios ms para separar los archivos de subida y bajada:
sudo mkdir /home/FTP-public/download
sudo mkdir /home/FTP-public/upload
Ahora tenemos que especificar los permisos de lectura y escritura para estos directorios:
sudo chmod 755 /home/FTP-public
sudo chmod 755 /home/FTP-public/download
sudo chmod 777 /home/FTP-public/upload
Es importante recalcar que si tienes instalado un servidor Web como el que se explica aqu puedes crear las
carpetas dentro de /var/www/tu_sitio para que tengas un FTP dentro del sitio web que estes usando y crear varios
usuarios de FTP con distintos privilegios.
Ahora veamos el archivo de configuracin del proftp que se encuentra en /etc/proftpd/proftpd.conf para esto
ejecutamos:
sudo gedit /etc/proftpd/proftpd.conf
o si lo queremos editar en la consola con vim
sudo vim /etc/proftpd/proftpd.conf
A continuacin presento el archivo de configuracin proftpd.conf los comentarios de que hace cada directiva estn
dentro del archivo:
# Para aplicar los cambios tienes que reiniciar el servidor FTP
AllowOverwrite on
AuthAliasOnly on
# Escoge aqui un alias para tu usuario de FTP
UserAlias vensign userftp
ServerName

"Vensign FTP"

ServerType

standalone

DeferWelcome

on

MultilineRFC2228 on
DefaultServer

on

ShowSymlinks

off

TimeoutNoTransfer 600

TimeoutStalled 100
TimeoutIdle 2200
DisplayChdir

.message

ListOptions

"-l"

RequireValidShell

off

TimeoutLogin 20
RootLogin

off

# Aqui creamos los archivos de logs que son de mucha utilidad en caso de fallos
ExtendedLog

/var/log/ftp.log

TransferLog

/var/log/xferlog

SystemLog

/var/log/syslog.log

#DenyFilter

*.*/

# No vamos a utilizar el archivo /etc/ftpusers file


#
(sirve para colocar adentro los usuarios que no queremos que se conecten)
UseFtpUsers off
# Permitir reiniciar una descarga (muy util en caso de que se caiga la conexion)
AllowStoreRestart

on

#El puerto 21 es el estandar para FTP,


#es bueno cambiarlo por razones de seguridad
#aqui escogi el 1980 puedes escoger el que quieras
Port

1980

# Para evitar ataques de DoS (negacion de servicio), se recomienda


# colocar un maximo de 30 procesos hijos. Si necesitas mas conexiones
# que esta simplemente aumenta este valor. Esto solo funciona con el
# servidor en modo standalone
MaxInstances 8

# Coloca el usuario y el grupo al que el servidor normalmente funciona


User

nobody

Group

nogroup

# Umask 022 es un buen valor por defecto para evitar que nuevos archivos y
directorios
# sean escribibles por todo el mundo o por el grupo.
Umask

022 022

PersistentPasswd

off

MaxClients 8
MaxClientsPerHost 8
MaxClientsPerUser 8
MaxHostsPerUser 8
# Despliega un mensaje despues de que ingresa un usuario
AccessGrantMsg "Bienvenidos a Vensign !!!"
# Este mensaje es mostrado por cada intento de ingreso sea bueno o no
ServerIdent

on

"estas en Vensign"

# Coloca a /home/FTP-public como el directorio principal (home)


DefaultRoot /home/FTP-public
# Bloquea a todos los usuarios al directorio home que definimos
DefaultRoot ~
MaxLoginAttempts

#Ingresos validos solo permitimos a userftp


<Limit LOGIN>
AllowUser userftp
DenyALL

</Limit>
#Definimos los permisos de los directorios que creamos para el FTP
<Directory /home/FTP-public>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNRF RNTO RMD XRMD>
DenyAll
</Limit>
</Directory>
<Directory /home/FTP-public/download/*>
Umask 022 022
AllowOverwrite off
<Limit MKD STOR DELE XMKD RNEF RNTO RMD XRMD>
DenyAll
</Limit>
</Directory>
<Directory> /home/FTP-public/upload/>
Umask 022 022
AllowOverwrite on
<Limit READ RMD DELE>
DenyAll
</Limit>
<Limit STOR CWD MKD>
AllowAll
</Limit>

</Directory>
Con este archivo de configuracin tendrs un servidor FTP funcionando con el usuario vensign (como alias de
userftp) y con el password que colocaste ms arriba, cuando creaste el usuario, adems definimos como puerto de
conexin 1980, para que haga efecto la configuracin debemos reiniciar el servidor FTP ejecutando:
sudo /etc/init.d/proftpd restart
Para conectarte desde un cliente FTP debes recordar colocar como puerto de conexin 1980 como lo definimos en
el archivo de configuracin.
Bueno eso es todo por ahora, despus colocar un par de tutoriales ms acerca de proftp para podernos conectar
va SSL y algunas otras cosas de seguridad.
Espero sus comentarios
Saludos
Olivers

Vous aimerez peut-être aussi