Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2019-04-20 10:54:55

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20
Serwis

Mój autorski skrypt do wymazywania nośników pamięci

https://i.imgur.com/II7NvCo.png


Windows 10 Pro, Debian Buster

Offline

 

#2  2019-04-20 15:40:33

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

Jeden warn chyba nie wystarczył... ?

Może pochwal się kodem, ten screen absolutnie niv nie mówi


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#3  2019-04-20 23:54:41

  mati75 - Psuj

mati75
Psuj
Skąd: default city
Zarejestrowany: 2010-03-14
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

Gratuluje, cóż za osiągnięcie.


https://l0calh0st.pl/obrazki/userbar.png

Offline

 

#4  2019-04-21 18:22:33

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

Skrypt napisany jest w języku BASH, ma tylko 70 wierszy i jest bez błędów.


Windows 10 Pro, Debian Buster

Offline

 

#5  2019-04-21 18:33:00

  noyo - Użytkownik

noyo
Użytkownik
Skąd: Mazury
Zarejestrowany: 2014-05-06
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

Ile masz lat?


http://www.kazuko.pl - Mikrotik, Ubiquiti, LMS, Linux, Skrypty
http://www.prorys.pl - Wykonywanie kosztorysów, sporządzanie wizualizacji i projektów budynków

Offline

 

#6  2019-04-21 18:43:07

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

noyo napisał(-a):

Ile masz lat?

Jestem z rocznika 1986.


Windows 10 Pro, Debian Buster

Offline

 

#7  2019-04-21 19:25:05

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

loms napisał(-a):

Skrypt napisany jest w języku BASH, ma tylko 70 wierszy i jest bez błędów.

Nie wierzę, pokaż.


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#8  2019-09-13 17:25:59

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

Skrypt jest do ściągnięcia stąd:
https://smol.com.pl/dd_smol-0.3.tar.bz2


Windows 10 Pro, Debian Buster

Offline

 

#9  2019-09-13 20:22:13

  Jacekalex - Podobno człowiek...;)

Jacekalex
Podobno człowiek...;)
Skąd: /dev/urandom
Zarejestrowany: 2008-01-07

Re: Mój autorski skrypt do wymazywania nośników pamięci

wipe i scrub sobie lepiej radzą od twojego skrypta i są dużo prostsze w użyciu, np,

Kod:

wipe /dev/sdc1

Kod:

scrub /dev/sdc1

Rzuć okiem na to:
https://linoxide.com/linux-command/commands-wipe-disk-linux/#3_wipe

Pozdro

Ostatnio edytowany przez Jacekalex (2019-09-13 20:23:35)


W demokracji każdy naród ma taką władzę, na jaką zasługuje ;)
Si vis pacem  para bellum  ;)       |       Pozdrawiam :)

Online

 

#10  2019-09-13 23:44:18

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

Kod:

        echo "Znaleziono urzadzenie $dev."
        li=1;
        while [ $li -le $il ] ; do
            echo "Procedura nadpisywania nr $li losowym 100 MB wzorem powierzchni urzadzenia $dev rozpoczeta!"
            echo "Generowanie losowego wzoru..."
            dd if=/dev/urandom bs=10M count=10 of=.l_plik_100MB 2> /dev/null
            echo "Zakonczono. Rozpoczeto nadpisywanie..."
            x=0; #Ustawienie zmiennej zliczajacej odpowiedzialnej za ilosc powtorzen zapisu 100 MB pliku
            i=150000; #Ustawienie zmiennej na tyle duzej aby mozna bylo zapisywac przestrzen powyzej 10 TB
            n=0; #Ustawienie zmiennej odpowiedzialnej za sume ilosci MB zapisanych w jednej procedurze
            while [ $x -le $i ] ; do
                dd if=.l_plik_100MB bs=100M seek=$x of=$dev 2> .status #zmiana standardowego wyjscia z ekranu do pliku
                n=$[n + 100]
                echo "$li raz nadpisano losowym wzorem $n MB powierzchni urzadzenia $dev."
                x=$[x + 1]
                s=`cat .status | grep "Brak miejsca" | wc -l` #sprawdzenie czy plik zawiera informacje o tym ze program dd nie nadpisuje juz nic, tak zwraca 1 (wersja polska)
                if [ $s = 1 ]
                then
                    x=$[$i + 1]
                    rm .l_plik_100MB
                    rm .status
                fi
                rm .status 2> /dev/null
            done
            echo "Nadpisywanie nr $li losowym 100 MB wzorem zakonczono, nadpisano okolo $n MB powierzchni urzadzenia $dev (do jego zapelnienia)."
            li=$[li + 1]

Cały ten segment zastąpisz linijką

Kod:

dd if=/dev/urandom of=$dev

Gdy dd dojdzie do końca urządzenia to kończy zapis. Input może być na bieżąco ładowany z /dev/urandom(czy /dev/zero), nie ma tutaj potrzebny tworzenia jakiejś skomplikowanej pętli z warunkami

Do tego sporym błędem jest brak weryfikacji czy użytkownik ma prawa roota (bez których może się to wysypać na niektórych systemach), nie sprawdza czy dysk jest zamontowany i czy przypadkiem nie jest to / albo inny katalog w którym znajduje się sam skrypt.

Zasadniczo napisałeś upośledzoną wersję shred.

Cały skrypt potraktował bym jako ćwiczenia z pisania skryptów ;)


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#11  2019-09-14 07:24:23

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

urbinek napisał(-a):

Cały ten segment zastąpisz linijką

Kod:

dd if=/dev/urandom of=$dev

Takie polecenie nie działa m.in. bardzo szybko spada prędkość nadpisywania, nie pokazuje postępu. Skrypt automatyzuje nadpisywanie (wystarczy raz uruchomić), zabezpiecza przed błędnym podaniem interfejsu.

urbinek napisał(-a):

Gdy dd dojdzie do końca urządzenia to kończy zapis. Input może być na bieżąco ładowany z /dev/urandom(czy /dev/zero), nie ma tutaj potrzebny tworzenia jakiejś skomplikowanej pętli z warunkami

Skrypt musi sprawdzać kiedy urządzenie jest pełne bo ponawia procedurę nadpisywania.

urbinek napisał(-a):

Do tego sporym błędem jest brak weryfikacji czy użytkownik ma prawa roota (bez których może się to wysypać na niektórych systemach), nie sprawdza czy dysk jest zamontowany i czy przypadkiem nie jest to / albo inny katalog w którym znajduje się sam skrypt.

Po rozpakowaniu właścicielem jest root i tylko on może go uruchomić. Skrypt został napisy 10 lat temu i działa do dzisiaj bo jest prosty.

urbinek napisał(-a):

Zasadniczo napisałeś upośledzoną wersję shred.

Nie testowałem tego, nie wypowiem się.

urbinek napisał(-a):

Cały skrypt potraktował bym jako ćwiczenia z pisania skryptów ;)

To jest skrypt i jest bez błędów, liczy się algorytm a ten trzeba opracować, szczerze to pisałem go kilka godzin z testowaniem.


Windows 10 Pro, Debian Buster

Offline

 

#12  2019-09-14 12:07:31

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

loms napisał(-a):

Takie polecenie nie działa m.in. bardzo szybko spada prędkość nadpisywania, nie pokazuje postępu. Skrypt automatyzuje nadpisywanie (wystarczy raz uruchomić), zabezpiecza przed błędnym podaniem interfejsu.

Jest to dokładnie to samo polecenie, którego ty kożystasz ale uproszczone.

Narzut obliczeniowy na CPU przez generowanie urandom jest znikomy, napisanie jednolinijkowca albo pętli, która to ogarnie zajmuje ~30 sekund

Kod:

#!/bin/bash

for n in 1; do
 echo "Write urandom to disk..."
 time dd if=/dev/urandom of=/dev/xvdb bs=8b conv=notrunc
done

echo "Write zero to disk..."
time dd if=/dev/zero of=/dev/xvdb bs=8b conv=notrunc

A jego wykonanie zjamuje parę minut:

Kod:

Write urandom to disk...
dd: error writing '/dev/xvdb': No space left on device
2097153+0 records in
2097152+0 records out
8589934592 bytes (8.6 GB, 8.0 GiB) copied, 133.546 s, 64.3 MB/s

real    2m13.557s
user    0m1.452s
sys     0m49.248s
Write zero to disk...
dd: error writing '/dev/xvdb': No space left on device
2097153+0 records in
2097152+0 records out
8589934592 bytes (8.6 GB, 8.0 GiB) copied, 134.199 s, 64.0 MB/s

real    2m14.204s
user    0m0.832s
sys     0m5.824s

Gdzie twój skrypt wykonywał się trochę dłużej :)

Kod:

real    18m58.361s
user    0m48.516s
sys    1m16.124s

Ale to tylko dlatego, że się wysypał. tutaj jest inny problem o którym dalej.
Jego normalne uruchomienie jest boleśnie długie (zobacz ostatni link)


loms napisał(-a):

Skrypt musi sprawdzać kiedy urządzenie jest pełne bo ponawia procedurę nadpisywania.

Nie nie musi, dd wzraca komunikat w momencie gdy kończy się mioejsce, co wiecej zwraca kod błędu, który można zutylizować zamiast stosować dziwasne stdouty

Kod:

dd: error writing '/dev/xvdb': No space left on device

loms napisał(-a):

Po rozpakowaniu właścicielem jest root i tylko on może go uruchomić.

Nie.

Kod:

admin@ip-172-31-28-157:~$ grep `whoami` /etc/passwd /etc/shadow 
/etc/passwd:gnats:x:41:41:Gnats Bug-Reporting System (admin):/var/lib/gnats:/usr/sbin/nologin
/etc/passwd:admin:x:1000:1000:Debian:/home/admin:/bin/bash
grep: /etc/shadow: Permission denied
admin@ip-172-31-28-157:~$ wget https://smol.com.pl/dd_smol-0.3.tar.bz2
--2019-09-14 07:26:14--  https://smol.com.pl/dd_smol-0.3.tar.bz2
Resolving smol.com.pl (smol.com.pl)... 86.111.240.132
Connecting to smol.com.pl (smol.com.pl)|86.111.240.132|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1868 (1.8K) [application/x-bzip2]
Saving to: ‘dd_smol-0.3.tar.bz2’

dd_smol-0.3.tar.bz2    100%[===========================>]   1.82K  --.-KB/s    in 0s      

2019-09-14 07:26:14 (106 MB/s) - ‘dd_smol-0.3.tar.bz2’ saved [1868/1868]

admin@ip-172-31-28-157:~$ tar -xvjf dd_smol-0.3.tar.bz2 
dd_smol-0.3/
dd_smol-0.3/dd_smol
dd_smol-0.3/dd_smol_eng

admin@ip-172-31-28-157:~$ ls -lah dd_smol-0.3/
total 16K
drwxr-xr-x 2 admin admin 4.0K Sep  8 20:26 .
drwxr-xr-x 4 admin admin 4.0K Sep 14 07:26 ..
-r-x------ 1 admin admin 3.5K Sep  8 20:26 dd_smol
-r-x------ 1 admin admin 3.5K Sep  8 20:26 dd_smol_eng

admin@ip-172-31-28-157:~$ sh ./dd_smol-0.3/dd_smol
Skrypt dd_smol (Copyright © Artur Smol - xxx@xxx) wersja 0.3 (14.11.2010) do wymazywania zawartosci nosnikow danych (napedow magnetycznych, pamieci polprzewodnikowych).
Podaj nazwe urzadzenia, ktore chcesz trwale wymazac (np. /dev/sdc):

I tutaj się pojawia problem, bo jeśli odpalisz to jako zwykły użytkownik, tak jak ja to zrobiłem, to skrypt się uruchamia i 'wykonuje czynności', tyle, ze z braku uprawnień się wysypuje.
A ponieważ poblokowałeś/przekierowałeś outputy to nie wiadomo o co chodzi. Wymaga to zmiany skryptu i wtedy przy uruuchomieniu sadzi błedami aż miło

Kod:

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 25900 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26000 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26100 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26200 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26300 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26400 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26500 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26600 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26700 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26800 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 26900 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27000 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27100 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27200 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27300 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27400 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27500 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27600 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27700 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27800 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 27900 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28000 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28100 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28200 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28300 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28400 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28500 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28600 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28700 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28800 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 28900 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29000 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29100 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29200 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29300 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29400 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29500 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29600 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29700 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29800 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 29900 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30000 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30100 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30200 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30300 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30400 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30500 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30600 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30700 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30800 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 30900 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31000 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31100 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31200 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31300 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31400 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31500 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31600 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31700 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31800 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 31900 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32000 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32100 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32200 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32300 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32400 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32500 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32600 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32700 MB powierzchni urzadzenia /dev/xvdb.

dd: failed to open '/dev/xvdb': Permission denied
1 raz nadpisano losowym wzorem 32800 MB powierzchni urzadzenia /dev/xvdb.

Oczywiscie jak odpalisz to jako root to działa, chociaż też coś dziwnego się dzieje w momencie gdy miejsce zostanie nadpisane, zaczyna się znowu iterować bo output z dd mówi, że nie ma takiego seq na dysku.




Skrypt został napisy 10 lat temu i działa do dzisiaj bo jest prosty.

Kod:

admin@ip-172-31-28-157:~$ sh ./dd_smol-0.3/dd_smol
Skrypt dd_smol (Copyright © Artur Smol - xxx@xxx) wersja 0.3 (14.11.2010) do wymazywania zawartosci nosnikow danych (napedow magnetycznych, pamieci polprzewodnikowych).
Podaj nazwe urzadzenia, ktore chcesz trwale wymazac (np. /dev/sdc):
/dev/xvdb
Podaj ilosc nadpisan losowym wzorcem powierzchni /dev/xvdb (dla dyskow magnetycznych zalecana wartosc 3, dla pamieci polprzewodnikowych 0 lub 1):
1
Powierzchnia urzadzenia /dev/xvdb zostanie nadpisana 1 raz(y) losowym wzorcem i 1 raz zerami. Czy chcesz potwierdzic?
!!! UWAGA !!! cala powierzchnia urzadzenia /dev/xvdb zostanie trwale i nieodwracalnie wymazana. Aby potwierdzic wpisz: TaK :
TaK
./dd_smol-0.3/dd_smol: 11: ./dd_smol-0.3/dd_smol: time: not found
./dd_smol-0.3/dd_smol: 12: ./dd_smol-0.3/dd_smol: Syntax error: "then" unexpected

Uruchomiłem to na dysku, który ma 8 GB jako user

Kod:

admin@ip-172-31-28-157:~/dd_smol-0.3$ bash ./dd_smol
Skrypt dd_smol (Copyright © Artur Smol - xxx@xxx) wersja 0.3 (14.11.2010) do wymazywania zawartosci nosnikow danych (napedow magnetycznych, pamieci polprzewodnikowych).
Podaj nazwe urzadzenia, ktore chcesz trwale wymazac (np. /dev/sdc):
/dev/xvdb
Podaj ilosc nadpisan losowym wzorcem powierzchni /dev/xvdb (dla dyskow magnetycznych zalecana wartosc 3, dla pamieci polprzewodnikowych 0 lub 1):
1
Powierzchnia urzadzenia /dev/xvdb zostanie nadpisana 1 raz(y) losowym wzorcem i 1 raz zerami. Czy chcesz potwierdzic?
!!! UWAGA !!! cala powierzchnia urzadzenia /dev/xvdb zostanie trwale i nieodwracalnie wymazana. Aby potwierdzic wpisz: TaK :
TaK
Znaleziono urzadzenie /dev/xvdb.
Procedura nadpisywania nr 1 losowym 100 MB wzorem powierzchni urzadzenia /dev/xvdb rozpoczeta!
Generowanie losowego wzoru...
Zakonczono. Rozpoczeto nadpisywanie...
[...]
1 raz nadpisano losowym wzorem 15000100 MB powierzchni urzadzenia /dev/xvdb.
Nadpisywanie nr 1 losowym 100 MB wzorem zakonczono, nadpisano okolo 15000100 MB powierzchni urzadzenia /dev/xvdb (do jego zapelnienia).
Procedura nadpisywania zerami powierzchni urzadzenia /dev/xvdb rozpoczeta!
Generowanie wzoru samych zer...
Zakonczono. Rozpoczeto nadpisywanie...
Nadpisano zerami 100 MB powierzchni urzadzenia /dev/xvdb.

Coś się output nie klei, bo proces działa jakieś 15-20 min a nadpisał mi 15TB danych na 8GB dysku. Wątpie, żeby t2.nano na AWS miała taką wydajność :)

Dzieje się tak, bo skrypt nie działa i tylko iteruje zmienne wrzucając błąd do pliku i dzieki temu, ze z jakiegos powodu ustawiłeś maksymalną ilość cykli

Kod:

            i=150000; #Ustawienie zmiennej na tyle duzej aby mozna bylo zapisywac przestrzen powyzej 10 TB

Który swoją drogą też nie ma sensu, jak chcesz zrobić coś jak się skończy a nie N razy

loms napisał(-a):

Nie testowałem tego, nie wypowiem się.

Ale ja testowałem i się wypowiadam :)


loms napisał(-a):

To jest skrypt i jest bez błędów, liczy się algorytm a ten trzeba opracować, szczerze to pisałem go kilka godzin z testowaniem.

To, ze skrypt się uruchamia i robi to co zamierzyłeś nie oznacza, że nie ma błędów. Znalezienie pierwszego problemu wymagało ode mnie tylko jego uruchomienia, więc jednak nie jest taki idealny :)
TY wiesz jak go uruchomić, TY wiesz jakie ma wymagania i graniczenia. Ktoś inny tego nie wie i w ogóle nie uwzględniłeś tego przypadku.

Pomijając już odrzucenie narzędzi i używanie tego 'bare bone' algorytm tego skryptu jest jednym z gorszych jakie ostatnio widziałem, brakuje mu jakiejkolwiek weryfikacji, obsługi błędów i widać, ze nie do końca rozumiesz jak działa cały mechanizm.


I żeby nie było, uruchomiłem skrypt jako root i też się wysypał :D
Ale nie doczekałem się do końca bo po 2h działania znudziło mi się czekanie aż pętla się ziteruje do końca
https://drive.google.com/file/d/1wFHaj56zyvdXldP3JC … w?usp=sharing

Ostatnio edytowany przez urbinek (2019-09-14 12:11:30)


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

#13  2019-09-14 14:24:39

  loms - Użytkownik

loms
Użytkownik
Skąd: Tarnowskie Góry
Zarejestrowany: 2007-07-20
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

urbinek dzięki że testujesz. Odniósł bym się do wszystkiego ale to nie ma większego sensu bo wszystko już napisałem.


Windows 10 Pro, Debian Buster

Offline

 

#14  2019-09-14 16:53:28

  urbinek - Użytkownik

urbinek
Użytkownik
Skąd: Sosnowiec
Zarejestrowany: 2009-10-01
Serwis

Re: Mój autorski skrypt do wymazywania nośników pamięci

loms napisał(-a):

urbinek dzięki że testujesz. Odniósł bym się do wszystkiego ale to nie ma większego sensu bo wszystko już napisałem.

Co napisałeś?


A w wolnym czasie, robię noże :)
http://nginx.urbinek.eu/_photos/signature.png

Offline

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Nas ludzie lubią po prostu, a nie klikając w przyciski ;-)