La Bitácora de Gabriel

Cambiar directorio raíz de Usuarios Virtuales del servicio FTP

Posteado por: Gabriel en: Marzo 28, 2008

Para todos aquellos que leyeron el manual sobre el servicio ftp del post anterior, en este post voy a anexar una configuración que me habían consultado, que consiste en cambiar el root_local(directorio raíz) original (/srv/ftp) para todos los usuarios virtuales a otro lugar, específicamente a un directorio de un usuario local como por ejemplo /home/gabriel/descargas.

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:

# 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:

gabriel@superserver:~> mkdir descargas

Por último hay que reiniciar el servicio y la nueva configuración debería funcionar sin problemas.

También se puede redirigir el directorio raíz para las conexiones anónimo al mismo directorio en donde los usuarios locales o virtuales suben sus archivos modificando la directiva anon_root:

anon_root=/home/gabriel/descargas

Así los usuarios anónimos podrán descargar los archivos que subieron los demás.

Saludos.

PD: La nueva versión del Manual en Formato PDF que tiene adjunto este anexo puede ser descargado en la sección de archivo o directamente desde AQUÍ!Archivo PDF

3 comentarios para "Cambiar directorio raíz de Usuarios Virtuales del servicio FTP"

Muchas Gracias por Tus aportes realmente son muy buenos, y he aprendido mucho de ello, pero hay una duda que me asiste, necesito configurar vsftpd para 16 usuarios (los cuales deberán logearse), independientemente si son externos o internos, y deben tener una única carpeta en común, de donde todos descarguen lo que el administrador suba.
como seria con cuentas reales ?
hay dos archivos que me confunden y son :
- ftpusers
- user_list

muy aparte del chrrot-list

ojala puedas ayudarme, saludosss.

Hola Roberto, antes que nada y como es de costumbre gracias por visitar mi bitácora, según entiendo en tu primera consulta lo que necesitas es que los usuarios locales (no virtuales) accedan si o si a un repositorio común cada vez que se conecten, esto se puede lograr de una forma muy sencilla:
1- Al igual que se hizo para los usuarios anónimos como lo detallé en mi manual en la sección básica, podes crear una carpeta en el directorio /srv/ftp, por ejemplo “usuarios”
2- A esa carpeta le asignas el dueño:grupo root:grupo_que_requieras y le asignas los permisos que necesitan tus usuarios.
3- Luego es cuestión de editar el archivo /etc/vsftpd.conf y agregarle la directiva local_root y asignarle la ruta del repositorio compartido que en este ejemplo quedó en /srv/ftp/usuarios.

local_root=/srv/ftp/usuarios

4- Por último reiniciar el servicio y ya está, cuando un usuario local se conecte será dirigido a esa ruta.

Con respecto a los archivos que citas, el archivo ftpusers, así como lo dice su comentario, sirve para definir a que usuarios locales y de sistema no se les permitirá conectarse al servidor mediante el protocolo ftp por motivos de seguridad, el usuario “root” forma parte de la lista, y si comentas o eliminas esa línea y guardas los cambios del archivos podrás conectarte con el usuario root, práctica que no se recomienda. El otro archivo que mencionaste (user_list) no lo ubiqué por ningún lado.

Espero que haya sido de ayuda. Saludos desde Py.

Gracias por la información, es de gran utilidad, tengo unas dudas pero tengo unas dudas;

- Como puedo cambiar el directorio publico de ftp.
- Como asignar a los usuarios locales no root que pudan subir archivos, pero que no puedan eliminar los de otros usuarios.

Esperando su respuesta se despide

Alexis

Escribe un comentario

cc - by cc cc

Bienvenidos!

Muchas gracias por visitar este pequeño espacio que a medida que pasa el tiempo va cobrando vida y forma, encontrarán mucha información acerca de mi pasión que es la Informática, como así también de mi trabajo y de mi vida personal, espero que les guste! Saludos.

Gabriel K.

Correo Electrónico

Para cualquier consulta, sugerencia, críticas, etc., pueden enviar un correo a:

La imágen

Ídolos: Adam y Jamie de Mythbusters

Ídolos: Adam y Jamie de Mythbusters

Calendario

Marzo 2008
D L M X J V S
    Abr »
 1
2345678
9101112131415
16171819202122
23242526272829
3031  

Categorías

Visitas

  • 36,323

Fotos Flickr

openSUSE v11.1 con KDE v4.2.4

Un fin de semana por Cnel. Oviedo

More Photos

Tira Ecol