Manual FTP Ubutnu 10.04 Server Usuarios Virtuales
Manual FTP Ubutnu 10.04 Server Usuarios Virtuales
Manual FTP Ubutnu 10.04 Server Usuarios Virtuales
Servidor FTP en
Ubuntu Server 10.04
Servicios de red
Introducción _____________________________________________________________ 2
Instalando el servidor y configuración basica __________________________________ 3
Permitiendo usuarios anónimos _____________________________________________ 3
Configuracion de logs _____________________________________________________ 4
Configuración para la transferencia de archivos ________________________________ 4
Configuración de usuarios virtuales __________________________________________ 5
Anexos _________________________________________________________________ 8
Introducción
En este manual usaremos vsftpd como servidor ftp, a continuación mostramos los comandos para
la instalación del servidor y las herramientas.
# nano /etc/vsftpd.conf
Nuestro servidor ftp permitirá acceso a usuarios anónimos y no podrán escribir ni guardar nada en
el servidor solamente ver y descargar contenido de la carpeta para usuarios anónimos. El
directorio del servidor ftp se encuentra en /srv/ftp. Primero vamos a crear una carpeta para los
usuarios anónimos y asignar los correspondientes permisos.
# cd /srv/ftp
# mkdir anonimo
# chmod 755 anonimo/
# chown root:root anonimo/
Después editaremos de nuevo el archive vsftpd para admitir usuarios anónimos:
Configuracion de logs
# Log Settings
#
# Activa la generación de registros logs por cada
# uploads/downloads.
xferlog_enable=YES
# Define cual será el archivo log.
vsftpd_log_file=/var/log/vsftpd.log
# Si esta directiva no se encuentra comentada activa el registro
# (log) de todas
# las peticiones/respuestas del servidor.
log_ftp_protocol=YES
# (ftp-data).
connect_from_port_20=YES
# Tiempo de espera para mantener establecidas conexiones inactivas.
idle_session_timeout=600
# Tiempo de espera para mantener establecidas conexiones de datos
inactivas.
data_connection_timeout=120
# Comando que permite activar/desactivar conexiones pasivas.
pasv_enable=YES
# PAM setting. Suele estar configurado por defecto.
pam_service_name=vsftpd
# Configura listen=YES para que vsftpd corra en modo standalone.
listen=YES
# Máximos clientes simultáneos conectados. Ejemplo:
max_clients=5
# Máximas conexiones simultáneas por IP. Ejemplo:
max_per_ip=3
# Como tenemos activado el uso de conexiones pasivas especificamos el
rango de
# puertos que serán utilizados por este método de conexión.
pasv_min_port=40000
pasv_max_port=40020
Por seguridad es mejor evitar la conexión de usuarios locales al servidor ftp. Para ellos utilizaremos
usuarios virtuales mediante una base de datos y PAM usando los paquetes db4.8-utils y Pam.
Tenemos que crear una tabla con los logins y password de los usuarios para ello vamos a crear un
archivo y ponerlo dentro de un directorio que llamaremos vsftpd de esta manera:
# mkdir /etc/vsftpd
# cd /etc/vsftpd
# touch logins.txt
Y dentro del archivo pondremos los usuarios y password uno a uno. En la primera línea el nombre
y en la que sigue el password y así sucesivamente de esta manera:
user_gabriel
pass_gabriel
user_jorge
pass_jorge
una vez ingresado todos los usuarios vamos a crear la tabla db para que sea utilizada por PAM
para realizar la autenticación. Lo haremos dentro del directorio vsftp que vamos a crear.
# cd /etc/vsftpd
# db_load -T -t hash -f logins.txt vsftpd_login.db
# chmod 600 vsftpd_login.db
El siguiente paso consiste en modificar el archivo de configuración PAM del servicio vsftpd, este
archivo lo podemos encontrar en el directorio /etc/pam.d/ y debería llevar el mismo nombre
especificado en la directiva “pam_service_name”, en este caso “vsftpd”.
Antes de editar el archivo, hacemos una copia de seguridad del mismo y nos aseguramos que el
servicio ftp no esté corriendo, verificado esto, editamos el archivo comentando todas sus líneas
anteponiendo el carácter #, y le agregamos las siguientes líneas:
Estas líneas permiten que los usuarios que se conecten al servicio ftp sean validados contra los
registros que contiene la tabla vsftpd_login.db que hemos creado.
Como de ahora en más ya no se podrá acceder con los usuarios locales, se tiene que especificar al
servidor vsftpd que un usuario local se encargará de gestionar todos los usuarios virtuales que se
conecten, también aprovecharemos para agregar el directorio de donde el servidor vsftpd tendrá
que buscar la configuración personal de cada usuario virtual, para lo que nuevamente editamos el
archivo de configuración /etc/vsftpd.conf y agregamos las siguientes líneas al final del archivo:
# Usuarios Virtuales
#
# Activamos el uso de usuarios virtuales.
dirlist_enable=YES
guest_enable=YES
Guardamos los cambios del archivo vsftpd.conf y creamos el directorio indicado en la directiva
“user_config_dir” dentro de la carpeta /etc/vsftpd/:
Código:
# mkdir config_por_usuario
En su interior creamos por cada usuario virtual que agregamos a la tabla “vsftpd_login.db” un
archivo de texto plano con el mismo nombre del login del usuario.
Código:
# cd config_por_usuario
# touch user_gabriel user_jorge
Por ejemplo editamos el archivo “gabriel” recientemente creado y le agregamos las siguientes
líneas:
Código:
#!/bin/bash
# Indicamos cual será el directorio personal del usuario gabriel
dirlist_enable=YES
local_root=/srv/ftp/user_gabriel
# Le damos permisos de escritura para su directorio personal.
write_enable=YES
# Con virtual_use_local_privs igualado a YES, supone indicar que los
usuarios
# virtuales tendrán los mismos privilegios que los usuarios locales.
virtual_use_local_privs=YES
Lo mismo podemos agregar al archivo “user_jorge”, indicando otro directorio personal. Ahora solo
nos resta crear los directorios personales para ambos usuarios virtuales (gabriel y jorge) en el
directorio /srv/ftp/, cambiarlos de dueño y asignar los permisos correspondientes:
Código:
# cd /srv/ftp
# mkdir user_gabriel user_jorge
# chown -R ftp:ftp user_gabriel
# chown -R ftp:ftp user_jorge
# chmod -R 744 user_gabriel
# chmod -R 744 user_jorge
El siguiente paso es activar nuevamente el servicio (service vsftpd restart) para comprobar su
funcionamiento con los usuarios virtuales que hemos agregado.
Para entrar desde Windows en un navegador pon la dirección 10.0.0.1 y te dira que abras ese sitio
ftp desde el explorador de Windows haciendo clic en pagina y después “abrir este stio ftp en el
explorador de Windows.
Automáticamente entrara de forma para los usuarios anónimos. Si deseas entrar como usuario
puedes teclear por ejemplo:
ftp://[email protected]
Anexos