Unix - SCP solo de subida, evitando nombres repetidos y detectando envios completados

 
Vista:
sin imagen de perfil

SCP solo de subida, evitando nombres repetidos y detectando envios completados

Publicado por cyttorak (3 intervenciones) el 28/04/2014 17:25:39
Hola

Estoy buscando algo parecido a SCP pero con más control por parte el servidor.

Lo que quiero es que varios usuarios distintos puedan enviar archivos a mi maquina unix.
Mi maquina unix ha de tener capacidad para detectar cuando se ha completado el envío y para guardar los archivos con el nombre que ella quiera (no con el que le dieron los usuarios clientes), también tiene que se capaz de rechazar los archivos en función de su tamaño y su tipo (extensión).

Por otro lado el cliente solo envía, no puede ver lo que hay en el servidor, ni siquiera lo que él mismo envío.

¿Alguna idea?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de xve
Val: 35
Ha mantenido su posición en Unix (en relación al último mes)
Gráfica de Unix

SCP solo de subida, evitando nombres repetidos y detectando envios completados

Publicado por xve (70 intervenciones) el 28/04/2014 18:27:11
Hola Cyttorak, lo que no entiendo es porque no te sirve scp...

Según entiendo, hay usuario subiendo archivos al servidor, y tienes un proceso que se ejecuta cada N y va revisando los archivos que los usuarios han subido para analizarlos, etc..., no?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SCP solo de subida, evitando nombres repetidos y detectando envios completados

Publicado por cyttorak (3 intervenciones) el 28/04/2014 18:39:30
El problema es que:

- Aunque he visto algunas maneras de hacer que el usuario pueda subir pero no pueda bajar no me ha quedado claro si es seguro del todo y si realmente no podría ver los ficheros que subirlo (no quiero que vea ni su nombre)
- No quiero un proceso que cada X segundos mire que ficheros hay y los trate, si no un "evento" o algo así que pille el archivo al vuelo como "chorro de bits" y lo escriba con el nombre X+1.extensión done X es un contador.

Va a haber muchos clientes subiendo archivos, y si hago lo del proceso cada N segundos podría darse que en ese intervalo dos usuarios subieran dos archivos con el mismo nombre.

Mi primera opción sigue siendo hacerlo con scp porque seria más fácil para los clientes, pero necesito poder controlar desde el servidor lo que he dicho antes.

Tambien necesito que el servidor pueda rechazar el envío si no le gusta el nombre del archivo (en concreto la extensión, por ejemplo "blabla.exe") sin necesidad de esperar a que se haga la transferencia y luego borrarlo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de xve
Val: 35
Ha mantenido su posición en Unix (en relación al último mes)
Gráfica de Unix

SCP solo de subida, evitando nombres repetidos y detectando envios completados

Publicado por xve (70 intervenciones) el 28/04/2014 19:31:19
si, si, ssh es super seguro ya que va sobre sobre servidor seguro y el trafico va todo codificado... es muy seguro.

Creo que para lo que quieres hacer, no te servirá scp, ya que yo no se si puedes coger los archivos antes de que lleguen al disco duro.

Pero viendo lo que quieres hacer, puedes crear una web de entrada de archivos, ahí si que tienes el control total. Y todo puede correr sobre SSL para la seguridad.

Otra manera un tanto mas complicada, es programar un puerto para entrada de archivos, donde tu aplicación recibirá los archivos y los clasificara, pero tendrás que programar varios hilos por si hay varios usuarios simultáneos.

Yo creo que la opción mas rápida y segura de implementar es por web.

Coméntanos, ok?
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

SCP solo de subida, evitando nombres repetidos y detectando envios completados

Publicado por cyttorak (3 intervenciones) el 28/04/2014 20:10:05
La idea es que van a ser varias aplicaciones las que manden los ficheros.

Por ejemplo, una sera una aplicación Android que cuando detecte que se toma una foto la mandara al servidor.

No se yo si así me va a valer una web. Además la idea de usar scp o algo similar era montarlo sobre un comando que pueda implementarse fácilmente desde diversas aplicaciones sin tener que hacer cosas especificas para una web en concreto como pudiera ser la que yo crease.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de barna_rasta

SCP solo de subida, evitando nombres repetidos y detectando envios completados

Publicado por barna_rasta (61 intervenciones) el 29/04/2014 12:30:56
Buenos dias cyttorak,
quizas puedas utilizar la combinacion de uucp + uux para realizar el proyecto.

http://es.tldp.org/Manuales-LuCAS/GARL2/garl2/x-087-2-uucp.config.files.html
http://linux.die.net/man/1/uux

Yo lo utilizo para actualizar la informacion de 18 tiendas diariamente (caja, stocks, .......) a un equipo central.

La idea es:
uucp ==> unix to unix copy uux ===> uxix to unix exec
realizar el envio de datos de los archivos deseados + 1 archivo de texto conteniendo el Nº de Tienda - podemos meterlo todo en un 'gz' e incluso en un 'rar' cifrado-.

mandar con uux una orden de ejecucion (ubicada en el central) que:
descomprima, detecte el numero de tienda y ejecute un script segun NºTienda para distribuir los datos.

Quizas puedas adaptarlo a tu necesidad. Lo malo es que 'uux' es solo -creo- esta disponible para *nix.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

SCP solo de subida, evitando nombres repetidos y detectando envios completados

Publicado por Tom (178 intervenciones) el 29/04/2014 18:35:51
Parece que tienes necesidades un tanto inusuales, así que, en mi opinión, no encontrarás nada ya hecho.

Yo te recomendaría hacer un servidor a medida (yo lo haría en java), no necesitas abrir un puerto para cada cliente, con uno te bastaría (aunque podrías habilitar más si hubiera muchos clientes, eso te añadiría el problema de "¿como indicar al cliente qué port debe usar?").

Además esto significa desarrollar clientes a medida también, y desde luego sería un lío tener que hacerlos para cada posible S.O. (otra razón más para usar java).

La idea de monitorizar el disco para ver qué archivos han cambiado solamente tiene un problema, que no sabrías realmente cuando ha terminado la transferencia del archivo.

La otra alternativa sería la que te han comentado, mucho más "universal", hacer un servidor web. No soy experto en eso, pero el servidor web, examinando la cabecera del "post" puede fácilmente rechazar un fichero, renombrarlo, copiarlo en cualquier parte ... (si tienes dudas de como "subir" ficheros por http, hay muchísimos ejemplos por la red, busca http file upload)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar