TDDI41 Grundläggande systemadministration
Tips och tricks
Denna sida innehåller vissa allmänna tips och tricks, länkar och annat. De kan komma att integreras i labbserien på relevanta ställen vid ett framtida tillfälle, men kan också vara
Glömt lösenordet/låst er ute/behöver nå filer på VM-disk utan att starta
Om du har glömt lösenordet till din VM, eller stängt dig själv ute, kan det vara värt att sätta in dess disk i en fungerande VM (som extradisk) och utforska den. Eftersom vi inte har någon diskkryptering eller dylikt, bör det inte vara några större problem (givet att backing image är nåbar, vilket den bör vara på LiU-systemen).
Om du inte vill skriva ett sådant skript själv, testkör /courses/TDDI41/diskattacher.sh.
$ /courses/TDDI41/diskattacher.sh THE AMAZING DISK ATTACHER This script is a copy of start_single.sh modified to attach an additional disk image. It can be used to extract files from a system that you cannot boot from (since we do not do disk encryption or any of that fun stuff). Use at your own peril! Note: You have snapshots of your disks if you go to /home/andma54/.zfs/snapshot . --------------------------------------- Usage: /courses/TDDI41/diskattacher.sh IMG_FILE For instance, /courses/TDDI41/diskattacher.sh /home/andma54/machine/router.11.img
Ni kan kolla i skriptet för att se hur det ser ut. Det centrala är att vi har en extra parameter -hdb [diskimagen som ska kopplas in].
När vi bootar, välj första (standardalternativet) i GRUB. Välj inte att boota från /dev/sdb1.
Här är ett exempel på ett extremt fult (men framgångsrikt) försök att skriva över ett bortglömt lösenord med ett vi minns. Jag har skickat in diskimagen för min router-image som exempel, och utklippet börjar när vi ssh:at in och fått en prompt):
Jag kollar vilka block devices som finns tillgängliga. Huvuddisken är redan nåbar under /. Jag letar efter något som ser ut som en diskimage för routern och inte monterat. (D v s stort.) I praktiken kommer detta att vara /dev/sdb1.
root@debian:~# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT fd0 2:0 1 4K 0 disk sda 8:0 0 25G 0 disk |-sda1 8:1 0 24G 0 part / |-sda2 8:2 0 1K 0 part `-sda5 8:5 0 975M 0 part sdb 8:16 0 25G 0 disk |-sdb1 8:17 0 24G 0 part |-sdb2 8:18 0 1K 0 part `-sdb5 8:21 0 975M 0 part [SWAP] sr0 11:0 1 1024M 0 rom
Vi skapar ett ställe att montera den, och monterar den (utan omsvep eller flaggor, detta är fulhack!)
root@debian:~# mkdir /mountpoint root@debian:~# mount /dev/sdb1 /mountpoint/ # /dev/sdb1 was large, and not mounted root@debian:~# ls /mountpoint/ bin dev home initrd.img.old lib32 libx32 media opt root sbin sys usr vmlinuz boot etc initrd.img lib lib64 lost+found mnt proc run srv tmp var vmlinuz.old
Vi ser att det ser ut som roten på vår gamla maskin.
I mitt fall vet jag att jag vill kunna logga in i maskinen, och att problemet är ett bortglömt lösenord. Andra problem kan såklart behöva behandlas på andra sätt. Men nu har vi tillgång till filerna.
root@debian:~# cd /mountpoint/etc/ root@debian:/mountpoint/etc# grep ^root /etc/shadow # get the root line from the shadow file of the recovery machine. It contains the hash of a password you know (since you logged in to this computer) root:$y$j9T$8/ky10xfSQGeBAA.NSvom/$B7n51daljH.W7Bu8vPPHRURiLlvjBHShrl5M3duYzs.:19170:0:99999:7:::
Sedan säkerhetskopierar jag /mountpoint/etc/shadow (lösenordshasharna på extradisken jag monterat), öppnar en texteditor och ändrar root-raden till det ovan.
Därefter slår jag av maskinen innan jag slår på routern. Därmed har jag inte flera processer som försöker röra samma diskimage.
root@debian:/mountpoint/etc# shutdown now
Test att starta routern fungerade därefter.
Sidansvarig: Anders Fröberg
Senast uppdaterad: 2024-12-12