Tenía algún tiempo sin postear ningún manual de este tipo pero hoy aprovecho a hacer una pequeña publicación de como instalar un servidor FTP en pocos pasos y de la manera mas rápida y entendible sin morir en el intento.

El software que utilizaremos es:

* Ubuntu server (en el ejemplo se utiliza 12.04)

* VSFTPD (servidor FTP)

Lo primero es instalar el servidor FTP

apt-get install vsftpd

 

El archivo de configuración de dicho servidor, una vez instalado se encuentra en /etc/vsftpd.conf, una vez instalado editaremos este archivo y haremos las configuraciones iniciales para que funcione nuestro FTP, los parámetros que deben modificarse son los siguientes y deben quedar exactamente igual como el siguiente código.

#Deshabilitamos acceso a usuarios anónimos.
anonymous_enable=NO
#Permitir acceso a usuarios locales a sus carpetas
local_enable=YES
# Permitir el modo escritura,
write_enable=YES
# Mascara del directorio,
local_umask=022
#Esto es si se quiere usar un banner de bienvenida, no lo acostumbro.
ftpd_banner=Bienvenidos al Servidor FTP.
# Encapsula a los usuarios unicamente en su espacio personal (home)
chroot_local_user=YES
# Define que el usuario solo pueda acceder a las carpetas FTP y no del sistema
chroot_list_enable=YES
# este es un archivo que debemos crear en /etc, con la lista de usuarios que usaran el servidor de FTP
chroot_list_file=/etc/vsftpd.chroot_list

Otras opciones que pueden ser de ayuda son:

#opciones de transferencia
#ancho banda por usuario anónimo 5kb
anon_max_rate=5100
#ancho de banda por usuario local 5kb
local_max_rate=5100
#número máximo clientes simultáneos
max_clients=5
#máximo conexiones por ip
max_per_ip=2

Creo la carpeta que deseo que utilice mi usuario invitado

mkdir /home/fpt/invitado

Lo siguiente que haré es crear un usuario sin shell y con un entorno chroot

sudo useradd -g ftp -d /home/ftp/invitado -c ” invitado ” invitado
passwd invitado

Con el comando anterior estoy agregando un usuario al grupo ftp y estoy definiendo su home como /home/ftp/invitado

Vamos a crear un shell fantasma para nuestro usuario y la agregaremos en la ultima linea del archivo /etc/shells

sudo mkdir /bin/ftp

Una vez creada la sell fantasma es probable que haya que agregarla en el archivo /etc/shells (por lo menos 12.04) así lo requiere

Ahora editaremos el archivo /etc/passwd y modificaremos la linea de nuestro usuario de tal manera que quede así

invitado:x:1001:1001: invitado :/home/ftp/invitado:/bin/ftp

Creamos el fichero de los usuarios de la siguiente manera:

nano /etc/vsftpd.chroot_list

y simplemente escribimos los nombres de nuestros usuarios, uno en cada linea.

reiniciamos el servidor FTP

sudo /etc/init.d/vsftpd restart

y si todo ha salido bien tenemos nuestro servidor ftp funcionando, un ejemplo bastante practico que he encontrado para este tutorial es el enjaular a los usuarios en un directorio donde tengan alojada determinada pagina, por ejemplo si tengo varias paginas alojadas en un servidor web y cada una tiene un administrador, le doy permisos únicamente a los directorios que corresponden a cada pagina con su respectivo administrador.

Espero haya sido de utilidad.

Saludos

http://pabloyela.wordpress.com


DMC Firewall is a Joomla Security extension!