[Previo por Fecha] [Siguiente por Fecha] [Previo por Hilo] [Siguiente por Hilo]

[Hilos de Discusión] [Fecha] [Tema] [Autor]

Re: Sesiones de ftp, en modo "exclusivo"



Jose Antonio Juarez Paniagua wrote:

> Hola lista:
>
>    Nuevamente con una bronca-apuro-"nosecomohacerlo":
>
> Introduccion:
> Supongamos que varias personas, por asi decirlo, "Migrupo" con X numero de
> personas, y conectados con "Quiensabe" proveedor de Internet, tienen una
> *Unica* cuenta de acceso a Internet conmigo para entrar por ftp, este X
> numero de personas me van a enviar un archivo superimportante que servira
> para actualizar una base de datos.
>
> Descripcion del problema:
> Entra la persona X1 por ftp a mi servidor y "sacatelas" me envia un
> megaarchivo de 100MB, por lo cual tardara varias horas, supongamos que
> durante el proceso quiere entra la persona X2, a dejar su miniarchivo de
> 1MB.
>
> La pregunta del millon: ( utilizan la misma cuenta )
> ¿ Como le hago para que no deje entrar por ftp a la persona X2 hasta que
> termine de transferir su archivo la persona X1 ?
>
> Complicando el problema:
>  El archivo de la persona X1 de 100Mb actualizara una base de datos, asi que
> una vez que se haya transferido todo el archivo y antes de que entre la
> persona X2, yo tengo que verificar si la persona X1 ya termino y proceder a
> hacer la actualizacion, pensaba hacerlo mediante un script en perl y ponerlo
> en el crontab, que se ejecutara cada 5 minutos, lo unico que haria el script
> es verificar si ya esta el archivo "y", si ya esta entonces actualizaria la
> base de datos,
>
> La pregunta de los 64 millones:
> El script checa que efectivamente ya esta el archivo entonces procede a
> actulizar la base de datos pero que pasaria si de aun no termina de
> transferir los 100MB, es decir, a penas van 50MB, como le hago para
> verificar que la persona X1 ya termino su sesion de ftp ( ya termino
> completamente su archivo ) y ahora si proceder a mi actualizacion y hasta
> que termine dejar entrar a la persona X2.
>
> Otro pregunta, y asi seria mas facil el problema:
> se puede hacer que deje "una huella" la sesion de ftp de la persona X1, es
> decir antes de iniciar la tranferencia poner una variable o en un archivo
> "acceso-permitido.txt " el valor de "0", y una vez que termine de realizar
> la transferencia de su archivo poner en alguna variable o en el archivo
> "acceso-permitido.txt" el valor de "1",
>
> Ahora el problema estarira mas facil ya que mi script ( mediante el cron ),
> checaria que ademas de que estuviera el archivo de 100MB de la persona X1,
> la bandera o variable del archivo "acceso-permitido.txt" tenga tambien el
> valor de "1"
>
> ¿Se puede bloquer sesiones de ftp para que sean en modo "exclusivo" ?

Me late que si, pero pues la verdad no se como, a mi me ha tocado usar esos
servidores ftp que te permiten entrar con una sola sesion de ftp desde una
misma IP, si quieres abrir dos o mas sesiones al mismo tiempo pues los
siguientes intentos al primero te los rechaza.

>
> ¿ Dejan rastro las sesiones de ftp ?

Pues si, acuerdate de los archivos logs normalmente en /var/log, entre otros
esta secure que te dice a quien entro o cosas asi, claro que tiene que ver
mucho el syslogd y los tcpwrappers para que realmente te digan que onda.


>
> ¿ Otra alternativa o sugerencia ?

Entrarle de lleno al las bases de datos y usar sus caracteristicas
transaccionales, realmente el escenario que planteas es muy deficiente en
cuanto a integridad y seguridad :-( . Normalmente todas esas reglas del negocio
son controladas entre otros tantos por el DMBS, por el frontend (tu software de
aplicacion) y pues en otros casos por una capa intermedia (el middletier), no
es tan complicado como suena pero pues puedes empezar a darle una buena leida a
esos libros de analisis y diseño de sistemas; no te recomiendo ningun libro en
particular , pero pues si te recoiendo alguno de analisis y diseño oreintado a
objetos, el enfoque de analisis y diseño estructurado ya va de salida y en lo
personal yo digo que bueno pues es tan tedioso que mejor acabas haciendo un
proyecto con las patas antes que seguir la metodologia.

No se que es lo que manejador de bases de datos uses, pero pues sino conoces
PostgreSQL te recomiendo le eches un ojo a www.postgreSQL.org y aqui en Mexico
puedes suscribirte a la lista de postgres   pgsql-ayuda en tlali iztacala unam mx
para mayor informacion de como suscribirse mandale un correo al Ing. Roberto
Andrade Fonseca <randrade en campus iztacala unam mx> quien es el amo de la lista
(es en buena onda).
Suerte!


>
>
> Saludos
> Pepe Paniagua
>
> ----------------------------------------------------------------------------
> -------------------------------------------------
> "Si trabajo para comer y por estar trabajando no como, pues ya vali queso"
> by me-mesmo



[Hilos de Discusión] [Fecha] [Tema] [Autor]