Ver Mensaje Individual
  #6  
Antiguo 28-mar-2008, 05:30
Avatar de gabrielkfr
gabrielkfr gabrielkfr está desconectado
Habitual
 
Fecha de Ingreso: 17-octubre-2006
Ubicación: Paraguay
Versión: 12.1
Mensajes: 105
Agradecimientos: 5
Agradecido 3 Veces en 2 Mensajes
Poder de Credibilidad: 9
gabrielkfr está en el buen camino
Antes que nada, gracias por sus mensajes, es una pequeña retribución a este foro que me enseñó mucho
Cita:
Iniciado por larva_pro
como indicas un direcotorio en particular para el Vsftpd.. ejemplo supongamos que solo quiero que se mire el contenido de /home/larva/Descargas
A mi parecer la mejor forma para realizar esto es con usuarios virtuales, y en ves de que el usuario local “ftp”(con home en /srv/ftp/) sea el encargado de manejar las conexiones virtuales o invitadas(guest), le asignamos otro usuario (en tu caso “larva” cuyo home es /home/larvar) y a partir de ahí le indicamos cual será el directorio raíz común para todos los usuarios con cuentas virtuales. Tomando en cuenta la configuración de usuarios virtuales que comenté en el manual, tuve que modificar y agregar unas cositas al archivo vsftpd.conf que muestro a continuación:

Primeramente cambie la directiva “guest_username” para colocarle el usuario local que manejará los usuarios virtuales y en cuyo home estará la carpeta raíz para los mismos, después le comenté con “#” la línea de la directiva “user_config_dir” para que ya no busque las configuraciones específicas de cada usuario virtual y por último le agregué dos nuevas líneas, una para especificar el directorio raíz con la directiva “local_root” y la otra para que le otorgue a los usuarios virtuales los mismos privilegios que tienen los usuarios locales con la directiva "virtual_use_local_privs=YES”. El archivo vsftpd.conf en la sección de usuarios virtuales me quedó como sigue:

Código:
# Usuarios Virtuales
#
# Activamos el uso de usuarios virtuales. 
guest_enable=YES

# Esta directiva permite especificar el usuario que se encargará de manejar los 
# usuarios Virtuales. 
guest_username=gabriel

# Especificamos el directorio de donde el servicio obtendrá la configuración 
# personal de cada usuario virtual que agregamos a la tabla “vsftpd_login.db”.
# ESTA LINEA LA COMENTE PARA QUE NO SEA INTERPRETADA.
#user_config_dir=/etc/vsftpd/config_por_usuario

# Directorio raíz para usuarios registrados en vsftpd_login.db a partir del home de tu 
# usuario local, en mi caso la carpeta estará en “/home/gabriel/descargas”
local_root=descargas

# Esta directiva ya es conocida y supone indicar que los usuarios virtuales tendrán los 
# mismos privilegios que los usuarios locales.
virtual_use_local_privs=YES

Con eso el archivo vsftpd.conf ya tiene todo lo que necesita, solo resta verificar que exista el directorio descargas, en mi caso lo tuve que crear sin necesidad de asignarle ningún permiso (por defecto 755 está ok) ni cambiarle de dueño:
Código:
gabriel@superserver:~> mkdir descargas
Por último reinicié el servicio y la configuración funcionó sin problemas.

También puedes redirigir el directorio raíz para las conexiones anónimo al mismo directorio donde los usuarios locales o virtuales suben sus archivos modificando la directiva "anon_root":
Código:
anon_root=/home/gabriel/descargas
Así los usuarios anónimos podrán descargar los archivos que subieron los demás.

Saludos.
__________________
Antes era indeciso, ahora no se..
Responder Citando