Skript zum Ausspionieren des Inhalts von USB-Geräten und zum Kopieren auf den PC

Ich war immer ein unruhiger Schüler und wollte immer Gelegenheiten wie ... zum Beispiel das Kopieren der Semesterprüfungen vom USB-Stick des Lehrers oder ähnliches nutzen. Als ich in der High School war (Computer Major), wollte ich "etwas" programmieren, das Folgendes tun würde:

  1. Erkennen Sie, wenn ein USB-Gerät an den Computer im Klassenzimmer angeschlossen ist
  2. Kopieren Sie den gesamten Inhalt von diesem Gerät auf Ihren Computer

Dies würde es mir ermöglichen, die Prüfung vor langer Zeit abzulegen. Es wäre nur erforderlich, dass der Lehrer seinen USB-Speicher (Pendrive) an den Computer anschließt, und das war's.

Leider hatten die Computer in meinem Institut Windows und… ich habe nie und nie gelernt, für dieses Betriebssystem zu programmieren.

Jetzt benutze ich jedoch Linux (offensichtlich nicht? LOL!) Und mit dem Wissen, das ich in all den Jahren erwerben konnte, jetzt JA! Das kann ich schon mit Linux erreichen 😀

Das heißt, ich habe ein einfaches Skript programmiert, das Folgendes ausführt:

1. Erstellen Sie den Ordner /home/.USBDRIVES/
2. Es wird alle 5 Sekunden überprüft, ob ein USB-Gerät (oder eine CD / DVD) an den Computer angeschlossen ist.
3. Wenn einer angeschlossen ist, wird in /home/.USBDRIVES/ ein Ordner mit dem Namen des USB (Zum Beispiel: Speicher-2 GB) und kopiert außerdem alle Dateien .doc, .pdf usw. (hier die Liste) in diesen Ordner, den Sie gerade erstellt haben.
4. Falls kein USB angeschlossen ist, wartet es einfach 5 Sekunden, um die oben erläuterte Prüfung erneut zu starten 😀

Hier ist das Skript und die Datei, die die zu kopierenden Formate enthält:

Laden Sie USB-Spy.zip herunter
Das Skript muss als root ausgeführt werden, damit seine Funktionsweise nicht eingeschränkt wird. Hier erkläre ich, wie dies erreicht werden kann

Damit das Skript problemlos funktioniert, ist es am besten, es mit Administratorrechten (root) zu starten, da es offensichtlich zusammen mit dem Computer gestartet werden muss. Auf diese Weise stellen wir sicher, dass der Computer beim Neustart neu gestartet wird oder aus, wenn ich das Skript erneut starte, wird es dort funktionieren und bereit sein, von jedem USB zu extrahieren, was wir wollen 😉

Lassen Sie uns ein Terminal öffnen ... einmal geöffnet ...

1. Angenommen, wir haben beide Dateien in / Opt / (/opt/usb-spy.sh y /opt/usb-spy.files) müssen wir ihm Ausführungsrechte geben:

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

2. Wir öffnen die Datei /etc/rc.local :

sudo nano /etc/rc.local

3. Darin schreiben wir über die letzte Zeile (Beenden Sie 0) der nächste:

/opt/usb-spy.sh &

4. Jetzt drücken wir [Strg] + [X], um die Datei zu speichern und zu beenden, drücken wir [S] oder [Y] (abhängig von der Systemsprache) und dann [Enter]. Dies reicht aus, damit die von uns vorgenommenen Änderungen gespeichert werden.

Und voila, dies wird ausreichen, damit das Skript als Root startet, wenn wir den Computer einschalten.

Es ist wichtig, die Datei zu überprüfen USB-Spy.files befindet sich im selben Verzeichnis wie USB-spy.sh 😉

Jetzt ... werde ich ein wenig über das Innenleben des Drehbuchs erklären, da ich weiß, dass es hier viele Bash-Liebhaber gibt

Q: Woher weiß das Skript, dass ein USB-Gerät angeschlossen ist?
A: In der Datei / etc / mtab unseres Systems befinden sich die Geräte oder Partitionen, die auf unserem System bereitgestellt sind. Über Zeile 23 des Skripts ist bekannt, ob ein USB angeschlossen ist oder nicht (Katze zu MTAB und Grep Media machen)
F: Ja, aber Woher weiß das Skript, ob die Katze und der Grep Daten an uns zurückgeben oder nicht?
A: Durch a wenn dann sonst Schleife Das beginnt in Zeile 24.
Q: Wie kann man nur Dateien mit den gewünschten Erweiterungen kopieren? (.doc, .pdf usw.)
A: Bei Verwendung von rsync mit verschiedenen Parametern befindet sich dies in Zeile 34. Einfach erklärt, mit rsync kopiere ich nur die Dateien, die mit dem Filter usb-spy.files übereinstimmen. Jede Zeile ist sozusagen ein Filter. Ich übergebe auch den Parameter --prune-empty-dirs zu rsync, damit für mich keine leeren Verzeichnisse erstellt werden.
Übrigens etwas wichtig. Wenn ein 8-GB-USB-Gerät (zum Beispiel) angeschlossen ist, funktioniert alles ordnungsgemäß. Ich habe jedoch festgestellt, dass bei einem angeschlossenen Gerät mit viel mehr Kapazität, z. B. 500 GB oder 1 TB, nach DOC-Dateien usw. gesucht wird, um diese zu kopieren Der Computer brauchte lange Zeit, deshalb habe ich ein GB-Limit festgelegt. Das heißt, in Zeile 31 erkläre ich, dass wenn das USB-Gerät weniger als 16 GB hat, die Dateien gefunden und kopiert werden, aber wenn es größer als 16 GB ist, dann nichts tun. Wenn Sie diese 16 GB um 32 GB erhöhen möchten, erhöhen Sie einfach diese Zahl aus Zeile 31

Es gibt eigentlich nicht viel zu erklären, das Skript ist wirklich einfach zu verstehen :)

Wenn jemand Zweifel oder Fragen, Beschwerden, Ideen oder Vorschläge hat, sagen Sie dies bitte und ich verspreche, ihnen so viel wie möglich zu helfen.

Nun, ich dachte darüber nach, etwas wie: «Dieses Skript dient nur zu Bildungszwecken und darf nicht mit schädlichen Dateien verwendet werden»… Aber… was zur Hölle! Verwenden Sie es für alles, was Sie wollen, es ist Zeit, dass die Schüler einen Vorteil gegenüber den Lehrern haben, die uns unterdrücken 😀

Grüße

Sie können das Skript immer noch mehrfach verbessern, aber ich denke, dies ist ein guter Anfang, wenn sich jemand motiviert fühlt, zu dieser "edlen" Sache beizutragen, wird es ein Vergnügen sein 😀

Hinterlasse einen Kommentar

Ihre E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert mit *

*

*

  1. Verantwortlich für die Daten: Miguel Ángel Gatón
  2. Zweck der Daten: Kontrolle von SPAM, Kommentarverwaltung.
  3. Legitimation: Ihre Zustimmung
  4. Übermittlung der Daten: Die Daten werden nur durch gesetzliche Verpflichtung an Dritte weitergegeben.
  5. Datenspeicherung: Von Occentus Networks (EU) gehostete Datenbank
  6. Rechte: Sie können Ihre Informationen jederzeit einschränken, wiederherstellen und löschen.

  1.   lebhaft sagte

    Betrüger ¬¬

    XDDDD

    1.    KZKG ^ Gaara sagte

      Nein, überhaupt nicht ... wenn Sie sicher irgendwann daran gedacht haben, so etwas zu tun ... HAHAHA.

      1.    Iwan Molina sagte

        Du hast mich vor einem Pop-Quiz gerettet 😀… Jetzt dein «KZKG ^ Gaara» Du bist mein Gott… Lobe dich!

    2.    Facundo sagte

      Hallo, sehr gutes Skript, aber in Mega existiert die Datei nicht mehr, Sie können sie bitte an meine E-Mail senden

  2.   Oscar sagte

    Linux ist 1% und Sie sagen, dass Sie nie gelernt haben, für Windows zu programmieren, also ist das Tutoring für ein Linux-System. Meine Frage ist: Was ist die Möglichkeit, einen Lehrer zu finden, der Linux verwendet, um das Tutoring durchführen zu können?

    1.    KZKG ^ Gaara sagte

      Dieses Skript oder dieser Trick wird auf einem Computer "implementiert", der nicht unbedingt der persönliche oder der des Professors sein muss. Es reicht aus, wenn es sich um einen Computer einer Universität oder eines Colleges handelt. Dann wäre dies nur mit X möglich oder Y Grund, warum der Professor Ihren USB an diesen Computer anschließt.

      Ja, es ist für Linux, aber viele Universitäten haben Linux als System in Computerlabors sowie das Booten mit einer LiveCD und nicht unbedingt das Installieren von Linux auf dem PC 🙂

      Über die 1% empfehle ich Ihnen, diesen Beitrag zu lesen: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuuga_neji sagte

      Die Möglichkeit, dass ein riesiger Meteorit in ungefähr 30 Minuten auf den Atlantik fällt

  3.   Josh sagte

    Es sieht interessant aus, es muss versucht werden.
    dank

    1.    KZKG ^ Gaara sagte

      Das Dienstprogramm, das es hat, ist keine großartige Sache, aber das Skript als solches ist interessant ... weil Sie verschiedene Tipps daraus lernen können, zum Beispiel, wie man den angeschlossenen USB, die Größe der Partitionen usw. usw. Kennt

  4.   cr0t0 sagte

    Ein origineller und sehr gut erklärter Artikel KZKG ^ Gaara. Prost!

    1.    KZKG ^ Gaara sagte

      dank

  5.   Oscar sagte

    Was für eine Kühnheit !!!, und du wagst es, es auf dem Blog zu schreiben. OO, ich weiß nicht, was ich denken soll. Hat jemand Gaara gehackt, der ihn nicht gut mag?

    1.    KZKG ^ Gaara sagte

      Frechheit? Warum?
      Obwohl der Zweck oder das Motiv des Skripts möglicherweise nicht so ernst ist wie der Rest meiner Beiträge, haben das Skript, seine Zeilen und die Programmierlogik meiner Meinung nach viel beizutragen.

      Mit diesem Skript können Sie verschiedene Vorteile nutzen:
      1. Wie man die Größe einer Partition erkennt und dass dies eine Variable ist.
      2. So überprüfen Sie, ob ein USB-Anschluss angeschlossen ist, und extrahieren dessen Pfad und Namen.
      3. Wenn-Dann-Sonst und While-Schleifen.

      Jedenfalls denke ich nicht, dass dies völlig nutzlos ist oder so.

      1.    Oscar sagte

        Ich denke, Sie interpretieren meinen Kommentar falsch, ich meine am Anfang Ihres Artikels,
        "Ich war immer ein unruhiger Schüler und wollte immer Gelegenheiten wie ... zum Beispiel das Kopieren der Semesterprüfungen vom Stift des Lehrers oder ähnliches nutzen." Wenn dich das, was ich sage, stört, hoffe ich, dass du mich entschuldigst, war es nicht meine Absicht.

        1.    Blaire pascal sagte

          oO was für ein ausgezeichneter Blog, gute Artikel, gute Leser, Benutzer entschuldigen sich ... es ist ein Paradies lol frei von Trollen.

          1.    KZKG ^ Gaara sagte

            dank ^ - ^
            Wir sind stolz auf das, was wir bisher erreicht haben, diese Community ist wirklich stolz ... es ist großartig, Teil all dessen zu sein 😀

        2.    KZKG ^ Gaara sagte

          Nein, nein, überhaupt nicht, ich habe mich überhaupt nicht wirklich darum gekümmert xD
          Und ja, hehe, es war mein Fehler, Ihren Kommentar falsch zu interpretieren, hehehe, tut mir leid 😉

          Nichts, was die Entschuldigung jetzt von mir kommt, ich muss mein Gesicht waschen, um zu sehen, ob ich damit fertig bin aufzuwachen ... nach dem, was ich sehe, bin ich immer noch nicht 100% HAHAHA.

          Grüße Freund 🙂

        3.    Oscar sagte

          Sehr gute Person xD

  6.   Neomyth sagte

    Ich möchte, dass meine College-Computer Linux muhahahjaja haben.

  7.   GGGG1234 sagte

    Guter Artikel!
    Aber wer es in Windows imitieren möchte, wird einfacher, denn wenn Sie keinen Root-Zugriff auf den Computer haben, den Sie verwenden möchten, können Sie es nicht "für immer" belassen. Unter Windows passiert das nicht 😉

  8.   Blaire pascal sagte

    Sehr gut hehe.

  9.   Hyuuga_neji sagte

    Die Idee ist gut, sie hat nur die Schwäche, Root-Rechte verwenden zu müssen

    1.    KZKG ^ Gaara sagte

      Nun, Sie müssen nicht unbedingt root sein, wenn Sie dem Skript erklären, dass der Ordner NICHT /home/.USBDRIVES sein wird, wie ich es ausdrückte, und es heißt zum Beispiel: /home/usuario/.USBDRIVES ... dann führen Sie das aus Skript mit "Benutzer" wird ausreichen 😀

  10.   Emilio sagte

    Es ist eine gute Idee, aber ich denke, Sie würden sich ersparen, die rc.local zu ändern und sie jede Minute über crontab auszuführen, und so das Problem vermeiden, sie als root und den Rest auszuführen. Andererseits verbrauchen Sie nutzlos Speicher des PCs, obwohl dies nicht viel bewirkt alle 5 Sekunden, um zu überprüfen, ob der USB-Anschluss vorhanden ist, auch wenn dies nicht der Fall ist. Nun, das ist mein Standpunkt

    1.    KZKG ^ Gaara sagte

      Ich meine, mach alle 1 Minute einen Check, oder? Ich habe es nicht so gemacht, weil… was ist, wenn ein USB in weniger als 1 Minute angeschlossen und getrennt wird? 😀

      Ich habe es vorgezogen, dies alle 5 Sekunden zu tun, um sicherzustellen, dass wirklich alle USBs "erfasst" werden 😉

      Wenn ich Sie missverstanden habe, korrigieren Sie mich bitte 🙂

      Grüße und willkommen.

      1.    Emilio sagte

        Ja, überprüfen Sie jede Minute durch cron, aber jeder hat eine andere Sichtweise auf das Problem, nichts weiter als den Code zu betrachten. Es ist nicht besser zu überprüfen, ob der Ordner /home/.USBDRIVES bereits vorhanden ist, bevor Sie ihn erstellen Es ist nur ein Vorschlag

        Grüße

        1.    KZKG ^ Gaara sagte

          Ja auch, es ist ein Detail, das mir aufgefallen ist, aber ... ich war faul, es zu lösen LOL!

          Ebenso könnte ich ein Protokoll erstellen, in dem die kopierten Dateien angezeigt werden (individuelles Protokoll für jedes Gerät), und dieses Protokoll möglicherweise sogar per E-Mail senden (mithilfe einer Methode zum Senden von E-Mails per Terminal derjenigen, die ich hier auf der Website angegeben habe) ) ... aber wie gesagt, ich bin ein bisschen faul ^ - ^ U.

  11.   pavloco sagte

    Hahahaha großartig.

  12.   Hexborg sagte

    AHA! So kann Ihre Software für das Böse verwendet werden. LOL !!! 🙂

    Der Trick ist in Ordnung, aber ... was ist, wenn Sie den USB-Anschluss aushängen möchten, bevor das Skript den Inhalt kopiert? In diesem Fall wird es sich beschweren, dass es in Gebrauch ist, und es wird bemerkt, dass etwas nicht stimmt. 🙂

    1.    KZKG ^ Gaara sagte

      Tatsächlich lässt das System nicht zu, dass der USB-Anschluss entfernt wird, da "etwas" ihn verwendet 😉

      1.    Hexborg sagte

        Genau! Und dann glaubt Oskars Professor, er habe einen Linux-Virus gefunden. LOL !! 🙂

  13.   Oscar sagte

    Sie haben mich einmal daran erinnert, dass ich etwas Ähnliches gemacht habe (auf meiner Uni, wenn wir Linux / Windows hatten), aber ich habe ein C-Programm erstellt, das Tausende von Ordnern generiert hat. Ich habe den USB an einen Mann gepolstert, der ihn angeschlossen hat. Der Manager des Rechenzentrums war begeistert! Er dachte, er hätte einen Virus in Linuxx Muajajajaja gefunden ... ahhh ... wie spät waren das =)

    1.    Miguel sagte

      und was ist der Unterschied zu einem Virus?

      1.    Oscar sagte

        Dass ich aus der Ferne an seinen USB angeschlossen bin und das Programm ausgeführt habe 😛

        1.    Miguel sagte

          hahahaha, also war es ein Hack XD

    2.    KZKG ^ Gaara sagte

      :)
      hehehehehe also hast du unter Linux einen Virus gefunden oder? … LOL !!

  14.   Semprom sagte

    Es funktioniert einfach nicht für mich xD, wenn ich versuche, es vom Terminal aus auszuführen, sagt es mir Folgendes: ./usb-spy.sh: Zeile 31: [: -lt: unärer Operator erwartet
    An dieser Zeile scheint etwas nicht zu stimmen: if [$ USBSIZE -lt 15664800]; dann
    Aber ich weiß nicht, was es ist, weil es auch nicht das .USB-Verzeichnis erstellt.

    Wenn es gelöst werden kann, kann ich ein nützliches Skript finden.

    1.    Hexborg sagte

      Versuchen Sie, df durch / bin / df zu ersetzen, und stellen Sie sicher, dass Sie es als root starten.

      1.    Semprom sagte

        Ok, jetzt, wenn es den .USB-Ordner im Home-Verzeichnis erstellt, mir aber über das Terminal immer wieder sagt, dass: "./usb-spy.sh: Zeile 31: [: -lt: unärer Operator erwartet" und dies nicht der Fall ist. Wenn Sie nichts kopieren, muss es in dieser Zeile einen Konflikt geben. Ich schätze die Hilfe, wenn jemand sie sieht.
        Vielen Dank.

        1.    Hexborg sagte

          Können Sie uns den Inhalt Ihrer / etc / mtab-Datei geben, wenn der USB-Anschluss angeschlossen ist?

          1.    Semprom sagte

            Klar, hier geht es:

            / dev / sda12 / ext4 rw, fehler = remount-ro 0 0
            proc / proc proc rw, noexec, nosuid, nodev 0 0
            sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
            keine / sys / fs / Sicherung / Verbindungen 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, Größe = 10%, Modus = 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, kurzname = m $

            Die letzten Zeilen sind die des gemounteten USB / dev / sdb1

          2.    Hexborg sagte

            Mal sehen, ob wir es haben. 🙂

            Geben Sie uns die Ausgabe des Befehls df. Und versuchen Sie, die Zeile hinzuzufügen:

            echo $ USBSIZE

            Direkt vor dem if gibt das Problem und sagen Sie uns, was beim Starten des Skripts herauskommt. Es sollte so aussehen:

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

            Und für alle Fälle sagen Sie uns auch, was die Ausgabe des Befehls which df ist.

            1.    Semprom sagte

              Ok, in Teilen gibt der Befehl df Folgendes an mich zurück:

              Dateisystem 1K-Blöcke Verwendet Verfügbar Verwenden% Bereitgestellt am
              / dev / sda12 54082300 45246956 6125892 89% /
              udev 2004028 4 2004024 1% / dev
              tmpfs 805768 1180 804588 1% / Lauf
              keine 5120 0 5120 0% / run / lock
              keine 2014420 92 2014328 1 XNUMX XNUMX% / run / shm
              / dev / sdb1 1023200 322256 700944 32% / media / DOCU 3

              Der Befehl, den df mir zurückgibt: / bin / df

              Dann habe ich das Echo $ USBSIZE gesetzt, und das Ergebnis ist das gleiche, es druckt nichts Neues, aber der Fehler von vor, das Lustige ist, dass dies mit dem USB passiert, den ich teste, wenn ich die 500 GB externe Festplatte einsetze Ja, es gibt die Größe der Festplatte auf dem Bildschirm zurück, aber die 500 überschreitet die 16 des if, daher tut es mit der Festplatte nichts.

              Aber mit USB macht es nichts anderes, als den Fehler anzuzeigen: ./usb-spy.sh: Zeile 34: [: -lt: unärer Operator erwartet
              Es ist, als könnte es nicht die Größe des USB anzeigen, aber mit dem Befehl df erhalte ich seine Größe.

              Danke für die Hilfe, mal sehen, ob wir sie bekommen können!


            2.    Semprom sagte

              Nur für den Fall, dass der Befehl hier nicht gut aussah, hinterlasse ich einen Screenshot: http://i48.tinypic.com/j5dvn5.jpg


          3.    Hexborg sagte

            Ich sehe, dass in der mtab der Pfad, in dem es gemountet erscheint, "/ media / DOCU403" ist, während es in df "/ media / DOCU 3" erscheint. Dies führt dazu, dass grep es nicht findet und die Größe nicht zurückgibt. Versuchen Sie, die ersten Zeilen von for so zu ändern, dass sie folgendermaßen aussehen:

            für 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'} `

            Die Änderungen bestehen darin, den Namen der for-Variablen in USBD zu ändern, die $ 2 am Ende der for-Zeile in $ 1 zu ändern, die Zeile, die mit USBDEV beginnt, unmittelbar nach dem Do einzufügen und USBDEV in USBD in die Zeile zu ändern, die mit beginnt USBSIZE… Ich hoffe, ich habe nicht rumgespielt. 🙂

            Die Idee ist, das für nach dem Namen des Geräts anstatt nach dem Einhängepunkt zu tun.

            1.    KZKG ^ Gaara sagte

              Das Problem war, dass in der mtab, wenn ein Gerät Leerzeichen hat ... einige "seltsame" Zeichen in die Zeile eingefügt werden, insbesondere anstelle des Leerzeichens.

              Nichts, das so einfach zu lösen ist, wie die Bezeichnung von $ USBDEV zu ändern, ändert es in Zeile 28 und setzt es so:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              :)


          4.    Atheios sagte

            Lassen Sie mich sehen, ob ich Ihnen helfen kann ...

            Der unäre Operator zeigt es an, weil er die Größe der Festplatte nicht findet. Dies geschieht, weil er es nicht überprüft. Dies geschieht, weil er aufgerufen wird

            DOKU 3

            und nimmt es als zwei Werte, wenn es DOCU wäre, würde es kein Problem eröffnen

            Vielleicht funktioniert das für Sie

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

            Grüße 🙂

            1.    Semprom sagte

              In der Tat ist das das Problem, weil ich gerade mit anderen USB versucht habe, die einen Namen mit einem Wort ohne Leerzeichen haben, Beispiel "Klassen" und das Skript funktioniert ohne Probleme, deshalb hat es die Festplatte und nicht die Speicher erkannt, aber jetzt die Muss ich wissen, wie ich die Anführungszeichen in den Skriptcode setze, muss ich sie auf "$ USBNAME" setzen?

              Vielen Dank an Atheyus und Hexborg für die Hilfe, es ist fast geschafft.


          5.    KZKG ^ Gaara sagte

            Eigentlich Semprom es ist super einfach zu reparieren 😉
            Zeile 28 ... ändern Sie dies in:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Ich habe gerade den Test mit dieser Änderung durchgeführt und es funktioniert gut mit Geräten, deren Label / Name ein Leerzeichen hat :)

            Jetzt werde ich die Änderung im Skript zum Herunterladen vornehmen.

          6.    Hexborg sagte

            Sehr gut. So ist es einfach zu beheben. 🙂

  15.   auroszx sagte

    Ohhh, sehr genial 😀 Ich werde es zur Kenntnis nehmen, falls ich ...

  16.   Semprom sagte

    KZKG ^ Gaara, mit dieser Anordnung funktioniert es perfekt. Wenn ich jetzt den USB mit dem Leerzeichen im Namen kopiere, vielen Dank an alle für die Hilfe, werde ich versuchen zu sehen, ob ich ihn mit dem Systemstart und auf diese Weise zum Laufen bringen kann Überprüfen Sie jeden Zyklus, ob USB angeschlossen ist.

    Am Ende haben wir es xD erreicht.

    1.    KZKG ^ Gaara sagte

      ^ - ^ ... schön hehe.
      Das Problem war, dass ich mtab verwendet habe, um den USB zu erkennen, ich hätte einfach df verwenden können ... Ich habe mtab verwendet, weil ich dachte, es wäre interessant, ihnen diese Datei zu erklären, dass sie es wissen, aber ich habe das nicht vorausgesehen Fehler würde mit Geräten mit Leerzeichen lol passieren.

      Bei Fragen oder Problemen, die Sie hinterlassen, hilft fast jeder hier gerne xD

      Grüße

    2.    Hexborg sagte

      Na sicher. Wir sind Linuxer. Wir bekommen es immer. XD.

  17.   Yeretisch sagte

    Installieren Sie einen Daemon auf dem PC des Lehrers, der eine Aufzeichnung aller DOC-, DOCX-, ODT- und PDF-Dateien generiert und diese per E-Mail an Sie sendet. Sie scannen den PC nicht nur von Zeit zu Zeit auf der Suche nach Änderungen, neuen Dateien oder Löschungen in dieser Registrierung, sondern erhalten auch die geänderte oder neue Datei per E-Mail.

  18.   Yeretisch sagte

    Wie auch immer, ich denke, dass die Ausführung dieses Skripts (UND ALS WURZEL !!!!) mehr als nur ein Haken ist. Sie machen das Leben und die Dinge für alle, die eine Datei mit Root-Berechtigungen und allem auf Ihrem PC einfügen möchten, um 700% einfacher. Denken Sie daran, dass es unter Linux keine Erweiterungen gibt und dass ein .doc unter Linux mit einem Text, einem Video oder schlimmer noch einem Skript identisch sein kann (diesmal mit sehr schlechten Absichten).

    1.    KZKG ^ Gaara sagte

      Das Ausführen als root ist nicht unbedingt erforderlich. Definieren Sie einfach den Ordner, in dem der Inhalt an einem Ort abgelegt wird, an dem der ausgeführte Benutzer Schreibberechtigungen hat (z. B. sein eigenes Zuhause), und fertig

      Über gefährliche Dateien ... Nun, Sie könnten einige Zeilen hinzufügen, die allen Dateien chmod -x hinzufügen würden, wodurch die Ausführungseigenschaft verloren geht.

      1.    Semprom sagte

        Ich habe diese Zeilen am Anfang hinzugefügt, um den Ordner .USBDRIVES zu löschen, falls er bereits erstellt wurde:

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

        Auf diese Weise wird nicht der Fehler "Verzeichnis bereits vorhanden" ausgegeben, dh wenn Sie darauf achten müssen, dass sich im Ordner .USBDRIVES nichts befindet, das nicht gelöscht werden soll, da es gelöscht und ein anderes an seine Stelle gesetzt wird.

  19.   Matthias sagte

    Um neue Dateiformate hinzuzufügen, schreiben Sie sie einfach an usb-spy? zum Beispiel .jpg .mp3 usw.

    1.    KZKG ^ Gaara sagte

      Um neue Dateitypen hinzuzufügen, fügen Sie diese in die Datei usb-spy.files ein
      Schauen Sie sich den Inhalt der Datei an und Sie werden sehen, wie Sie sie hinzufügen können, es ist ganz einfach 😉

  20.   Wilmer Bolivar sagte

    Wenn wir uns im selben Netzwerk befinden und es eine Lehrermaschine gibt, wäre es interessant, eine Netzwerkzuordnung durchzuführen. Möglicherweise haben wir ssh auf den Maschinen und verteilen auf diese Weise den Code auf den Labormaschinen oder sogar auf der Lehrermaschine ... . Das gibt mir sooo viele Ideen: $

  21.   Xyler sagte

    Hallo, ich gratuliere Ihnen zu dem Beitrag und all Ihren Beiträgen, aber ich habe eine Frage, um zu sehen, ob jemand dieses Problem lösen kann:

    Ich habe Ihr Skript auf einem PC mit Ubuntu 12.04LTS (mit Unity) getestet und es hat perfekt funktioniert, aber als ich sah, dass dieses Skript nach der ersten Ausführung nicht mehr ausgeführt wurde, weil der Ordner .USBDRIVES bereits erstellt wurde, habe ich mich dazu entschlossen Verwenden Sie direkt dieses andere Skript Ihrer Urheberschaft, das in einem anderen Teil dieses Forums veröffentlicht wurde

    Hier kopiere ich das Skript, damit Sie sich selbst finden können

    #! / Bin / bash
    #
    # - * - ENCODING: UTF-8 - * -
    # Dieses Programm ist freie Software. Sie können es weitergeben und / oder
    # Ändern Sie es unter den Bedingungen der General Public License
    Anzahl der von der Free Software Foundation veröffentlichten GNU,
    # entweder Version 2 der Lizenz oder (abhängig von Ihrer
    # Wahl) einer späteren Version.
    #
    # Wenn Sie Änderungen an dieser Anwendung vornehmen,
    # sollte immer den ursprünglichen Autor desselben erwähnen.
    #
    #Copyleft 2012, DesdeLinux.net {Havanna-Stadt, Kuba}.
    # Autor: KZKG ^ Gaara

    WHILE = 0

    während [$ CONTROL = 0]; tun
    cat / etc / mtab | grep media >> / dev / null
    wenn [$? -ne 0]; dann
    COUNTER = 0
    sonst
    COUNTER = 1
    : $ {USBDEV: = `cat / etc / mtab | grep media | awk '{print $ 2}' `` / »}
    cp $ USBDEV / * / home /
    fi
    Schlaf 5
    erledigt

    Beenden Sie 0

    Das Thema in Ubuntu12.04 lautet wie folgt: Das letzte Skript läuft einwandfrei und funktioniert. Wenn ich jedoch denselben PC aus "x" -Gründen herunterstufen und versuchen, ihn in Ubuntu 10.10 zum Laufen zu bringen, kann ich ihn zum Laufen bringen
    Einerseits wird ein Fehler ausgegeben, und es werden weder die USB-Sticks mit einem zusammengesetzten Namen gelesen, z. B. DATA-G, noch werden die Dateien mit einem zusammengesetzten Namen kopiert. Abgesehen von diesem Problem habe ich das Problem, dass das Skript nur ausgeführt wird, wenn der PC einmal neu gestartet wird.

    Die Frage wäre: Wie kann ich dieses Skript dazu bringen, mir USB-Sticks und Dateien mit zusammengesetzten Namen zu kopieren?
    und wenn ich crontab benutze oder ich es so planen kann, dass es zu einer bestimmten Zeit funktioniert

    Ein weiteres Detail in Ubuntu 10.10, da es Gnome verwendet, möchte ich einige Einschränkungen hinzufügen, die berücksichtigt werden müssen. Wenn Sie einem Skript Ausführungsberechtigungen erteilen, muss es sich in /etc/init.d befinden, nicht in / etc /
    (Beachten Sie, dass Sie es dort einfügen müssen, wenn Sie mit sudo nautilus vom Terminal kommen.)

    Andererseits wäre eine andere Dimension, dass nach dem Einfügen dort, um zu sehen, ob es ausgeführt werden kann, es in einem anderen Terminal durchgeführt werden muss

    sudo su (Wurzel sein)
    Passwort

    ls

    cd / etc / init.d.

    ls -l

    und dort springen wir, ob es läuft oder nicht

    dann im selben Terminal oder in einem anderen Terminal zu einem anderen Zeitpunkt als root und in etc / init.d (dh bis zum Schritt cd / etc / init.d) wie im vorherigen Terminal fahren wir wie folgt fort, um ihm die Berechtigungen von zu erteilen Ausführung

    sudo chmod + x script.sh

    update -rc.d script.sh ist standardmäßig 80

    rebooten

    Ich wiederhole das so, dass es in Ubuntu 10.10 automatisch ausgeführt wird. Wenn es sich um eine andere Version wie 12.04 handelt, müssen Sie das tun, was KZKG ^ Gaara sagt

    Und noch eine letzte Frage: Wie soll der Inhalt (bis zu 3 Unterordner auf dem Pendrive) nach Hause oder in einen versteckten Home-Ordner kopiert werden oder nicht?
    im code müsste ich nicht sagen

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

    Kurz gesagt, um zu bekommen, was ich will, wie soll das Skript bleiben?
    Weil ich bereits versucht habe, die Zeile zu ändern, die sie in usb-spy sh geändert haben, aber in die andere, die direkt zu Hause aufzeichnet und einen Fehler in der geänderten Zeile auslöst. Grüße . Vielen Dank

  22.   Kakashi sagte

    Ich kann das zweite Skript nicht herunterladen

  23.   Metalus sagte

    Sehr gut. 😉

  24.   Kamäleon sagte

    Und wenn ich die von Ihnen eingegebenen Schritte nicht mache, was passiert dann? Läuft es nicht oder läuft es nur, aber ohne root? Wenn die Computer über ein System verfügen, von dem wir sagen, dass es beim Herunterfahren die gesamte interne Konfiguration des Computers wiederherstellt, funktioniert es dann? Vielen Dank.

    1.    KZKG ^ Gaara sagte

      Für den Fall, dass das System standardmäßig den Ordner / home / hat, müssen Sie das Skript ändern, in dem / home / steht, ändern Sie es in / opt / oder in einen anderen Ordner, der nicht betroffen ist.

  25.   Gambi sagte

    Ich denke, um das Skript zu verbessern und zu vermeiden, dass das Eindringen in das Pendrive bemerkt wird, wäre es optimal, Typ und Dateigröße zu priorisieren. Lassen Sie beispielsweise große Dateien mit einer Größe von 100 Megabyte oder mehr zum Schluss. Oder kopieren Sie zuerst die Dateien doc, docx, txt, pdf, xml, ... etc etc etc und lassen Sie avi, mp4, mkv Dateien für die letzten ...

  26.   Lucas sagte

    Hallo, die Idee ist gut. Ich wollte zwei Fragen stellen:
    - Kann es umgekehrt gemacht werden? Erstellen Sie einen Scrip für den Penderiver, der eine Verbindung zu einem beliebigen Computer herstellt und Dateien extrahiert.
    - funktioniert unter Windows?

    1.    KZKG ^ Gaara sagte

      Hallo,

      Ich bin mir nicht sicher, wie es gemacht werden könnte, dass beim Anschließen des Pendrive dasselbe Pendrive ein Skript, das es enthält, selbst ausführt.

      Und nein, dieses Skript funktioniert nicht für Windows 🙂

      1.    LUCAS sagte

        Ok, danke, dass du mir geantwortet hast. Ich werde untersuchen, wie es geht

  27.   José Damian Bazaga Ruiz sagte

    Was für ein gutes Drehbuch. Ich habe es analysiert und es scheint mir erstaunlich, hoffentlich könnte ich eines Tages auch solche praktischen Skripte erstellen.

  28.   Jose sagte

    Hervorragender Beitrag, obwohl das Dienstprogramm, das ich ihm geben werde, nicht genau das ist, wofür Sie es angesprochen haben, wenn ich es für Dateisicherungen einer Gruppe von Benutzern verwende, Fehlverhalten, das ich habe… hehehehe….

  29.   umhüllen sagte

    Wenn ich versuche auszuführen, erhalte ich die folgende Fehlerzeile 31: [: zu viele Argumente
    Entfernen Sie diese Zeile, um zu sehen, ob es funktioniert hat. und es stellt sich heraus, dass es die Linie ist, die die Größe der Geräte einschränkt.
    Beim Entfernen wird kopiert, was ich in meinen gemounteten Partitionen habe 🙁

  30.   Valente sagte

    Hallo, ich bin neu und ich weiß, dass der Topf alt ist, aber es hat mir sehr gut gefallen, Ihr Skript ist sehr lehrreich

    Vielen Dank, dass Sie es geteilt und ausführlich erklärt haben ...

    Welle

  31.   Doltrox sagte

    Freund, du hast mich gerettet, ich musste nur den Lehrer ablenken und den USB in meinen Laptop stecken und dann hahahaaj bestand Prüfung und Notizen von allen hehehe

    1.    oetam222 sagte

      Könnten Sie mir das Skript übergeben, der Link ist ausgefallen

    2.    oetam222 sagte

      Kannst du mir das Skript übergeben, der Link ist ausgefallen

  32.   Worm2D2 sagte

    kzkggaara, könnten Sie die Dateien erneut hochladen? Die Links sind unten: /, vielen Dank

  33.   bastian sagte

    Können Sie bitte Links hochladen?

  34.   Nekr0 sagte

    hört! Onkel! Sie haben das gefallene Lob, das Sie wieder erheben könnten!
    IN ORDNUNG! : v

  35.   Nekr0 sagte

    Nun, ich mache das noch einmal, weil ich nicht weiß, ob das, was ich sagen wollte, hochgeladen wurde.

    Nun, es ist so, dass Sie die Links unten haben, die Sie hochladen können!

  36.   rlorau sagte

    Die Links sind unten !!!

  37.   Entwickler24 sagte

    Senden Sie die Links bitte erneut @usemoslinux Ich untersuche das Thema, danke!

  38.   anonym sagte

    Das Skript kann hier heruntergeladen werden. Ich denke es ist das gleiche

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

  39.   John sagte

    Na dann….

    Ich denke aus meiner bescheidenen Sicht, dass es ein großartiger Artikel ist, und wenn es Leute gibt, die sagen, dass Sie ein Betrüger sind, dann denke ich, dass es dem Zweck entspricht, für den Sie das Programm verwenden.
    Ich persönlich mochte es mehr, die Programmiersprache für Linux zu kennen, da ich nur in Java gearbeitet habe. Danke, Kumpel, Sie haben mein Interesse geweckt, mehr über die Sprache für Linux zu erfahren.

    Ich danke dir.

  40.   Hecorat sagte

    Hallo Freunde, da ich eine andere Möglichkeit gefunden habe, dieses Skript zu verwenden, ist das Sichern. Ich werde ein wenig mit Ihnen sprechen. Ich habe zwei Geräte, eine Kamera und eine Festplatte. Ich möchte, dass die lokalen Dateien die Dateien nicht aufzeichnen, sondern auf einer externen Festplatte speichern von der Kamera auf die Festplatte, aber es gibt mir einen Fehler, der "zu viele Argumente" sagt, könnten Sie mir helfen

  41.   LUIS GERARDO POLANCOVERA sagte

    Es funktioniert nur mit Geräten mit Linux-Betriebssystemen?

  42.   Probando sagte

    Jemand erhöht es bitte!

  43.   Gazeline sagte

    Hallo, ich habe kein Linux und in meiner Schule verwenden sie Windows, ich habe die App von USB Capture verwendet und ich kopiere nur 5 Dateien aus dem Speicher des Lehrers. Ich vermute, dass USB Schutz hat, weil dasselbe zweimal passiert ist, es wird einen anderen Weg geben die vollständigen Informationen von diesem USB zu subtrahieren?

  44.   Zaraki sagte

    Gehen Sie, wenn Sie sagen, dass der Code einfach sein wird, da es sehr interessant erscheint, zu sehen, wie die Methoden funktionieren, um festzustellen, ob ein USB angeschlossen ist oder wie groß die Partition ist. Schade, dass sie das mega.nz-Skript entfernt haben. Könnten Sie es erneut hochladen?

    Grüße und tolle Arbeit, einfach, aber funktional, um Kopien von USB zu automatisieren !!!

  45.   Breaks sagte

    Gut!
    Ich habe gerade Ihren Blog-Beitrag eingegeben und bin wirklich interessiert. Wenn Sie die ZIP-Datei angeben, die Sie zu Mega umleitet, bedeutet dies, dass die Datei nicht mehr verfügbar ist.
    Ich habe mich gefragt, ob Sie mir die Dateien senden könnten, die heruntergeladen werden sollen.
    Vielen Dank und Grüße!

  46.   Alfredo Pereira sagte

    Technologie hat die Angewohnheit, im Laufe der Jahre an Größe zu verlieren. Und das ist bei Solid State Drives (SSDs) in unglaublichem Maße passiert. Jetzt können Sie sie in der gleichen Größe wie die schnellsten USB-Sticks erhalten.

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

  47.   a sagte

    Kannst du mir die Datei schicken oder nochmal hochladen? Es kommt heraus, das nicht heruntergeladen werden kann