Página 1 de 4

usuario para subir ficheros en VSFTP

Publicado: Jue, 17 Feb 2011, 13:39
por gilmar
monte una FTP con VSFTP pero quiero poder darle permisos a algunos usuarios de fuera de mired para que puedan subir ficheros y no se como hacerlo.

saludos

Re: usuario para subir ficheros en VSFTP

Publicado: Jue, 17 Feb 2011, 15:59
por 103
Esta guía está basada en distribuciones derivadas de Debian y utilizando un usuario con privilegios. No es una guía exhaustiva, es un resumen de una elaborada por un amigo y está hecho con algunas modificaciones para adaptarlas al contexto.

La idea es crear un usuario local para todos los usuarios virtuales se crearán.

Requerimientos:
-vsftpd
-db4.x (db4.6-util) en Debian squeeze
-Conocimientos básicos de Linux

Crear usuarios virtuales

Crear un archivo de texto con los nombres de usuarios y contraseñas para los usuarios virtuales como sigue:

Código: Seleccionar todo

touch users
Editar el archivo users agregando:

Código: Seleccionar todo

usuario1
password1
usuario2
password2
usuarion
passwordn
Este archivo de texto se utilizará para crear la base de datos con los nombres de usuarios y contraseñas para los usuarios virtuales. Donde: 'usuario1' es el nombre del primer usuario y 'password1' contraseña para 'usuario1' y así sucesivamente.

Crear la base de datos:

Código: Seleccionar todo

mkdir /etc/vsftpd
db4.6_load -T -t hash -f users /etc/vsftpd/virtual_users.db
'users' se refiere al archivo de texto anteriormente creado.
Con esto creamos la base de datos 'virtual_users.db' en /etc/vsftpd

Editar el archivo /etc/pam.d/vsftpd

Código: Seleccionar todo

# Standard behaviour for ftpd(8).
auth  required pam_listfile.so item=user sense=deny file=/etc/ftpusers onerr=succeed

# Note: vsftpd handles anonymous logins on its own. Do not enable pam_ftp.so.

# Standard pam includes
#@include common-account
@include common-session
#@include common-auth
#auth required	pam_shells.so
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users
account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtual_users
Aquí se agregaron las dos últimas líneas para especificar cuál será la base de datos con los usuarios virtuales.

Crear el usuario local con el que los usuarios virtuales se autenticarán:

Código: Seleccionar todo

useradd -d /var/ftp/usuarios_virtuales virtual
chown -R virtual.virtual /var/ftp/usuarios_virtuales
Se asume que el directorio /var/ftp/usuarios_virtuales se utilizará para almacenar los archivos que subirán los usuarios virtuales.

La primera línea de comandos es para crear el usuario 'virtual' con home en /var/ftp/usuarios_virtuales
La segunda línea de comandos para establecer al usuario 'virtual' como dueño de /var/ftp/usuarios_virtuales

Permisos de los usuarios

Crear los archivos de configuración para los usuarios:

Código: Seleccionar todo

mkdir /etc/vsftpd/users
touch /etc/vsftpd/users/usuario1
Se crea un archivo de configuración con el nombre del usuario que se definió para la base de datos, en este caso 'usuario1'.
Así se crean otros archivos de configuración para otros usuarios virtuales.

Editar el archivo de configuración para 'usuario1'

Código: Seleccionar todo

dirlist_enable=YES
download_enable=YES
local_root=/var/ftp/usuarios_virtuales
anon_upload_enable=YES
anon_world_readable_only=NO
write_enable=YES
Con esta configuración el usuario podrá listar el directorio, descargar, subir y escribir archivos.

Nota: La documentación del vsftpd es bastante clara y explica todos los parámetros posibles, es recomendable leerla para enriquecer las posibles configuraciones, aunque en este ejemplo se recojan según la situación.

Definir usuarios que serán rechazados:

Código: Seleccionar todo

cat /etc/passwd | cut -d ":" -f 1 | sort > /etc/vsftpd/denied_users
Con esta línea de comandos se crea el archivo /etc/vsftpd/denied_users para evitar que los usuarios del sistema se puedan autenticar exceptuando a 'virtual' .

Archivo de configuración del vsftpd:

Código: Seleccionar todo

listen=YES
anonymous_enable=YES # permitir usuarios anónimos, esto es para responder a tu problema
anon_root=/var/ftp # directorio raíz para usuarios anónimos
no_anon_password=YES # permitir usuarios anónimos sin contraseñas
local_enable=YES # permitir que los usuarios locales se autentiquen
anon_upload_enable=NO # no permitir que los usuarios anónimos suban archivos
anon_mkdir_write_enable=NO # no permitir que los usuarios anónimos creen directorios
anon_other_write_enable=NO # no permitir que los usuarios anónimos renombren, eliminen o escriban archivos
chroot_local_user=YES # enjaular a los usuarios virtuales en su home, este caso: /var/ftp/usuarios_virtuales
pam_service_name=vsftpd # indica el servicio PAM que usará vsftpd
guest_enable=YES # permitir usuarios no anónimos
guest_username=virtual # define el nombre de usuario del usuario virtual
user_config_dir=/etc/vsftpd/users # ubicación de los archivos de configuración de los usuarios virtuales
userlist_enable=YES # rechazar los nombres de usuarios especificados en /etc/vsftpd/denied_users
userlist_file=/etc/vsftpd/denied_users # rechazar los usuarios definidos en el archivo 'denied_users'
Notas: el usuario local que se crea para los usuarios virtuales no puede ser 'ftp' ya que este es el nombre de usuario que se utiliza para los usuarios anónimos.

Fuentes:
Resumen de documento creado por Ixen Pérez Rodríguez recopilación de:

http://vsftpd.beasts.org/#about
http://www.backports.ubuntuforums.org/s ... hp?t=34292
http://www.tuxapuntes.com/drupal/node/212
http://www.guatewireless.org/os/linux/s ... -fantasma/

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 06:59
por gilmar
disculpa que no conteste antes, es qeu perdi la conexion (problemitas de ETECSA), voy a probar lo qeu me diste y te cuento, gracias 103

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 09:09
por gilmar
pues tengo otro problema 103, resulta que no se ve el ftp, de afuera, qeu crees qeu me falta?

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 11:05
por 103
gilmar escribió:pues tengo otro problema 103, resulta que no se ve el ftp, de afuera, qeu crees qeu me falta?
¿Qué distribución usas?
¿Qué quieres decir con que no se ve desde 'afuera'?
¿Te funcionan los usuarios virtuales?
¿Qué pasa cuando envías este comando?

Código: Seleccionar todo

ftp ip_de_tu_servidor_ftp

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 11:25
por gilmar
quiero decir, por ejemplo qeu trata de entrar tu y veras como no puedes, ftp://ftp.divepgtm.co.cu/

uso Debian 5 Lenny

y si, se conecta bien al poner ftp ip_de_tu_servidor_ftp

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 11:31
por gilmar

Código: Seleccionar todo

ns1:~# ftp 192.168.142.5
Connected to 192.168.142.5.
220 Welcome to blah FTP service.
Name (192.168.142.5:root): anonymous
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 11:47
por fVckingmania.hell
Amigo creo que ya el problema del acceso des fuera de tu red es problemas con el DNS no precisamente con el FTP, revisa eso porque yo intente de las dos formas y ninguna entra, si sigue sin funcionar abre otro hilo.

Salu2

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 12:09
por 103
¿Te funcionan los usuarios virtuales por fin o no?

Con respecto a ver tu ftp de afuera, creo que es cuestion de tu red. Si no tienes un ip real, o solamente tu empresa tiene una intranet no lo vas a poder ver desde fuera. Si al contrario tienes un IP real o tu empresa te permite publicar contenido fuera de tu intranet, entonces es problema de mal configuración del DNS.

Acabo de hacer una consulta a tu nombre de dominio y no hubo respuestas, lo más probable es que sea una intranet lo que tengas (también lo digo por la dirección IP que se muestra con el comando ftp).

Re: usuario para subir ficheros en VSFTP

Publicado: Vie, 18 Feb 2011, 12:18
por gilmar
esa IP es porqeu me conecto por dentro, pero mi red es publica

www.divepgtm.co.cu

esta es mi pagina, y no me funciono los usuarios virtuales,

con respecto al DNS, como es posible que todos los apuntes me funcionen menos ese del FTP