Open Suse
Enviado por slayer_05 • 28 de Octubre de 2013 • 3.203 Palabras (13 Páginas) • 232 Visitas
Configurar un servidor ftp con Vsftpd en openSUSE linux
Dejar a punto un servicio ftp con Vsftpd lleva buen tiempo, unos cuantos días de trabajo e investigación, así que bien vale la pena trabajar un poquito más para dejar una buena guía que en el futuro haga de ayuda memoria, ya que las lagunas mentales son mas frecuentes de lo que uno cree y siempre aparecen en los momentos más inoportunos.
El manual primeramente ofrece una configuración básica del servicio y luego lo complementa con configuraciones más avanzadas como es el soporte de usuarios virtuales, de conexiones seguras mediante ssl y otras funcionalidades más.
Instalación
1. Para instalar el paquete del servidor Vsftpd lo podemos hacer mediante el comando zypper como se muestra a continuación:
testsrv:~ # zypper install vsftpd
2. Cuando hayamos culminado con la instalación, configuramos los niveles de ejecución y probamos arrancar y parar el servicio, todo ello ejecutando los siguientes comandos:
3. testsrv:~ # chkconfig --add vsftpd
4. testsrv:~ # service vsftpd start
5. testsrv:~ # service vsftpd stop
6. Concluido con estos pasos, continuamos con la configuración del servicio en sí.
Configuración Básica
El archivo de configuración del servidor Vsftp se encuentra en el directorio /etc/ y se llama vsftpd.conf, el cual vamos a tener que modificar con cualquier editor de texto que sea de nuestra preferencia. Las directivas o comandos que se van a especificar en esta sección son las necesarias para montar un servidor ftp básico que permite la conexión de usuarios locales del sistema operativo como así también de usuarios anónimos.
Obs: Antes de comenzar a modificar un archivo de configuración nunca hay que olvidarse de hacer una copia de seguridad del mismo, así siempre tendremos a mano una versión original para restaurar la configuración por defecto sin perder mucho tiempo ;).
1. Como primer paso tenemos que abrimos el archivo de configuración Vsftp conectados como root:
testsrv:~ # vi /etc/vsftpd.conf
En los siguientes pasos se citarán las principales directivas que deberán estar definidas (descomentadas) en el archivo de configuración seguidos de sus respectivos parámetros, hay muchas otras directivas que se pueden consultar en ésta dirección, toda línea que lleve al principio el carácter almohadilla (#) es interpretado como comentario.
2. Configuraciones Generales:
Las siguientes directivas permiten activar la capacidad de escritura para subir nuevos archivos y habilitar mensajes de navegación y conexión.
#!/bin/bash
# Ejemplo del archivo de configuración /etc/vsftpd.conf
# General Settings
#
# Permite el modo escritura.
write_enable=YES
# Activa mensajes de directorio.
dirmessage_enable=YES
# Mensaje de bienvenida
ftpd_banner=Bienvenido al servidor ftp de GK - Powered by openSUSE
3. Configuración para usuarios Locales:
El siguiente compendio de directivas permiten realizar configuraciones relacionadas a los usuarios del servicio vsftpd.
# Local FTP user Settings
#
# Permite que usuarios locales puedan conectarse.
local_enable=YES
# Enjaula a los usuarios locales dentro de su propio directorio
# personal, esta opción mejora la seguridad.
chroot_local_user=YES
# Permite especificar una lista con los usuarios locales a los
# cuales se les enjaulará cuando la opción chroot_local_user=YES.
chroot_list_enable=YES
# Especifica la ruta en donde se encuentra la lista, en mi caso
# he creado una carpeta en el directorio /etc llamada vsftpd,
# en la cual coloqué el archivo de texto (vsftpd.chroot_list)
# que contiene la lista.
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
# Esta directiva la he dejado comentada, pero puede resultar
# muy interesante para los casos en que sea necesario limitar
# la velocidad de transferencia para los usuarios locales,
# por defecto la velocidad de transferencia es ilimitada.
#local_max_rate=7200
4. Continuación de la configuración del archivo vsftpd en la sección Anonymus FTP user Settings:
La configuración de las directivas que vienen a continuación definen las condiciones con las que podrán acceder y operar los usuarios anónimos con el servicio vsftpd.
# Anonymus FTP user Settings
#
# Permitir conexiones anónimas.
anonymous_enable=YES
# Directorio raíz para los usuarios anónimos. Carpeta creada
# en /srv/ftp/ como se comentó anteriormente.
anon_root=anonimo
# Solo permite descargar a los usuarios anónimos aquellos
# archivos que tengan permisos de lectura.
anon_world_readable_only=YES
# En mi caso especifiqué con la siguiente directiva que los
# usuarios anónimos no tengan permisos para subir archivos
# al servidor.
anon_upload_enable=NO
# Esta directiva permite a los usuarios anónimos a crear
# carpetas en ciertos casos.
anon_mkdir_write_enable=NO
# Directiva que permite establecer el límite de la velocidad
# máxima transferencia de datos para los usuarios anónimos.
# Fui un poco drástico jeje (2kb/s)
anon_max_rate=2048
5. Configuración de logs:
En esta sección del archivo vsftpd se realizan las configuraciones relacionadas a archivos 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
6. Configuraciones relacionadas a Transferencias:
Con las siguientes directivas es posible configurar varias opciones del servicio relacionadas a velocidades de transferencias y al comportamiento que seguirá cuando los usuarios intenten conectarse.
# Transfer Settings
#
# (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
...