Forum » Programska oprema » Mount read-only JE ali NI read only?
Mount read-only JE ali NI read only?
poweroff ::
Torej, v eni novici (Linux bo morda pospešil delo računalniških forenzikov) je bilo govora o tem, da če skušamo priklopiti nek datotečni sistem kot read-only, ga Linux v resnici ne bo priklopil kot read-only. Menda naj bi bilo treba mountu podati parameter -noatime.
Zato sem se odločil za par testov. Vzel sem USB ključek in ga formatiral z FAT32, NTFS in ext3. Uporabljam Ubuntu 7.10.
Potem sem na napravi naredil eno datoteko test.txt, napravo odklopil in potem:
1. izračunal MD5 hash (md5sum /dev/sdc1)
2. napravo priklopil kot read-only (sudo mount -o ro /dev/sdc1 /mnt/)
3. izpisal vsebino datoteke test.txt (cat /mnt/test.txt)
4. napravo odklopil (sudo umount /mnt)
5. izračunal MD5 hash (md5sum /dev/sdc1)
6. napravo priklopil kot read-write (sudo mount -o rw /dev/sdc1 /mnt/)
7. izpisal vsebino datoteke test.txt (cat /mnt/test.txt)
8. napravo odklopil (sudo umount /mnt)
9. izračunal MD5 hash (md5sum /dev/sdc1)
Rezultati:
FAT32 razdelek
==============
Prvi hash:
e884126d99d90527ebd07c0c80673650 /dev/sdc1
Hash po read-only:
e884126d99d90527ebd07c0c80673650 /dev/sdc1
Hash po read-write:
e884126d99d90527ebd07c0c80673650 /dev/sdc1
NTFS razdelek
=============
Prvi hash:
bd6dfbf145d69c84d104cee01d360f7f /dev/sdc1
Hash po read-only:
bd6dfbf145d69c84d104cee01d360f7f /dev/sdc1
Hash po read-write (sprememba!):
3dea940f203ffdd963551ecc095094f4 /dev/sdc1
ext3 razdelek
=============
Prvi hash:
b24d67cd130cea58964047a31d7e87ba /dev/sdc1
Hash po read-only:
b24d67cd130cea58964047a31d7e87ba /dev/sdc1
Hash po read-write (sprememba!):
7a8c6fc9f0ba7960be3c892408e0f859 /dev/sdc1
Skratka. Moji testi kažejo, da če datotečni sistem priklopim kot read-only, se le-ta NE SPREMENI. Se pa spremeni NTFS in ext3, če ju priklopim kot read-write (pa čeprav gor nič ne pišem).
Zdaj mi pa ni povsem jasno, od kje ideja, da bi bilo treba podati parameter -noatime, oziroma, da Linux pri read-only sistemu spreminja file access time. Nekdo je omenil, da lahko kljub -ro pride do replaya journala. Lahko kdo bolj razloži kaj je to?
Zato sem se odločil za par testov. Vzel sem USB ključek in ga formatiral z FAT32, NTFS in ext3. Uporabljam Ubuntu 7.10.
Potem sem na napravi naredil eno datoteko test.txt, napravo odklopil in potem:
1. izračunal MD5 hash (md5sum /dev/sdc1)
2. napravo priklopil kot read-only (sudo mount -o ro /dev/sdc1 /mnt/)
3. izpisal vsebino datoteke test.txt (cat /mnt/test.txt)
4. napravo odklopil (sudo umount /mnt)
5. izračunal MD5 hash (md5sum /dev/sdc1)
6. napravo priklopil kot read-write (sudo mount -o rw /dev/sdc1 /mnt/)
7. izpisal vsebino datoteke test.txt (cat /mnt/test.txt)
8. napravo odklopil (sudo umount /mnt)
9. izračunal MD5 hash (md5sum /dev/sdc1)
Rezultati:
FAT32 razdelek
==============
Prvi hash:
e884126d99d90527ebd07c0c80673650 /dev/sdc1
Hash po read-only:
e884126d99d90527ebd07c0c80673650 /dev/sdc1
Hash po read-write:
e884126d99d90527ebd07c0c80673650 /dev/sdc1
NTFS razdelek
=============
Prvi hash:
bd6dfbf145d69c84d104cee01d360f7f /dev/sdc1
Hash po read-only:
bd6dfbf145d69c84d104cee01d360f7f /dev/sdc1
Hash po read-write (sprememba!):
3dea940f203ffdd963551ecc095094f4 /dev/sdc1
ext3 razdelek
=============
Prvi hash:
b24d67cd130cea58964047a31d7e87ba /dev/sdc1
Hash po read-only:
b24d67cd130cea58964047a31d7e87ba /dev/sdc1
Hash po read-write (sprememba!):
7a8c6fc9f0ba7960be3c892408e0f859 /dev/sdc1
Skratka. Moji testi kažejo, da če datotečni sistem priklopim kot read-only, se le-ta NE SPREMENI. Se pa spremeni NTFS in ext3, če ju priklopim kot read-write (pa čeprav gor nič ne pišem).
Zdaj mi pa ni povsem jasno, od kje ideja, da bi bilo treba podati parameter -noatime, oziroma, da Linux pri read-only sistemu spreminja file access time. Nekdo je omenil, da lahko kljub -ro pride do replaya journala. Lahko kdo bolj razloži kaj je to?
sudo poweroff
- spremenilo: poweroff ()
BigWhale ::
Mnja, nekaj taksnega sem tudi jaz trdil...
Mountaj kot rw in -noatime pa dostopaj do datoteke in potem naredi hash.
Mountaj kot rw in -noatime pa dostopaj do datoteke in potem naredi hash.
Zgodovina sprememb…
- spremenil: BigWhale ()
poweroff ::
Pa dajmo:
md5sum /dev/sdc1
7a8c6fc9f0ba7960be3c892408e0f859 /dev/sdc1
sudo mount -o rw -noatime /dev/sdc1 /mnt/
cat /mnt/test.txt
sudo umount /mnt/
md5sum /dev/sdc1
c8431cc04b402e90f98acab5b8174407 /dev/sdc1
Zanimivo: se NE ujema.
md5sum /dev/sdc1
7a8c6fc9f0ba7960be3c892408e0f859 /dev/sdc1
sudo mount -o rw -noatime /dev/sdc1 /mnt/
cat /mnt/test.txt
sudo umount /mnt/
md5sum /dev/sdc1
c8431cc04b402e90f98acab5b8174407 /dev/sdc1
Zanimivo: se NE ujema.
sudo poweroff
poweroff ::
Hmm... pazite tole, namesti sdc1, računam hash od sdc:
md5sum /dev/sdc
fd7526802a98ca5f203ec55b49c26e61 /dev/sdc
sudo mount -o ro /dev/sdc1 /mnt/
cat /mnt/test.txt
sudo umount /mnt
md5sum /dev/sdc1
7c6190d6a4f83dee1c5c4e21912c7203 /dev/sdc1
OKIE, kako priklopit particijo, da se sdc ne spremeni sploh?
md5sum /dev/sdc
fd7526802a98ca5f203ec55b49c26e61 /dev/sdc
sudo mount -o ro /dev/sdc1 /mnt/
cat /mnt/test.txt
sudo umount /mnt
md5sum /dev/sdc1
7c6190d6a4f83dee1c5c4e21912c7203 /dev/sdc1
OKIE, kako priklopit particijo, da se sdc ne spremeni sploh?
sudo poweroff
poweroff ::
Pa še tole:
Disk /dev/sdc: 31 stez, 255 glav, 63 sektorjev/stezo
Enote = steze po 8225280 bajtov, bloki po 1024 bajtov, štejem od 0
Naprava Zagon Začetek Konec #steze #bloki Id Sistem
/dev/sdc1 0+ 30 31- 248976 83 Linux
/dev/sdc2 0 - 0 0 0 Prazno
/dev/sdc3 0 - 0 0 0 Prazno
/dev/sdc4 0 - 0 0 0 Prazno
Disk /dev/sdc: 31 stez, 255 glav, 63 sektorjev/stezo
Enote = steze po 8225280 bajtov, bloki po 1024 bajtov, štejem od 0
Naprava Zagon Začetek Konec #steze #bloki Id Sistem
/dev/sdc1 0+ 30 31- 248976 83 Linux
/dev/sdc2 0 - 0 0 0 Prazno
/dev/sdc3 0 - 0 0 0 Prazno
/dev/sdc4 0 - 0 0 0 Prazno
sudo poweroff
poweroff ::
OK, ZDAJ mi pa sploh ni nič več jasno:
md5sum /dev/sdc
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
sudo mount -r -noatime -nodiratime /dev/sdc1 /mnt
cat /mnt/test.txt
sudo umount /mnt/
md5sum /dev/sdc
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
sudo mount -r /dev/sdc1 /mnt (BREZ -noatime -nodiratime!!!)
cat /mnt/test.txt
sudo umount /mnt/
md5sum /dev/sdc
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
WTF??
md5sum /dev/sdc
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
sudo mount -r -noatime -nodiratime /dev/sdc1 /mnt
cat /mnt/test.txt
sudo umount /mnt/
md5sum /dev/sdc
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
sudo mount -r /dev/sdc1 /mnt (BREZ -noatime -nodiratime!!!)
cat /mnt/test.txt
sudo umount /mnt/
md5sum /dev/sdc
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
WTF??
sudo poweroff
poweroff ::
sudo mount -o ro /dev/sdc1 /mnt/
cat /mnt/test.txt
sudo umount /mnt
md5sum /dev/sdc1
4a0ee06e98d1180d3eeb50b2b1349936 /dev/sdc1
SE PRAVI: mount -o ro NI ENAKO mount -r??
Zakaj pa man page pravi, da je?
cat /mnt/test.txt
sudo umount /mnt
md5sum /dev/sdc1
4a0ee06e98d1180d3eeb50b2b1349936 /dev/sdc1
SE PRAVI: mount -o ro NI ENAKO mount -r??
Zakaj pa man page pravi, da je?
sudo poweroff
jype ::
Odvisno od samega datotečnega sistema se zapišejo različne reči - pri tistih, ki vodijo dnevnik zapisov, se recimo ponovijo zapisi, kar lahko preprečimo z ustreznimi parametri (man mount), vendar to datotečni sistem lahko pusti v stanju, ki ne ustreza specifikaciji zapisa (in se morda lahko gonilnik za ta datotečni sistem spotakne ob kakšen zgolj na pol zapisan blok podatkov).
Pogosto se zapišejo tudi metapodatki - ext2/3 pri odklopu (unmount) poveča število priklopov (mount), da lahko sistem požene fsck, ko je datotečni sistem bil toliko-in-tolikokrat priključen.
Pa verjetno je še kaj drugega - sem pa prepričan, da se file access time ne zapisuje, če je datotečni sistem priključen samo za branje.
Pogosto se zapišejo tudi metapodatki - ext2/3 pri odklopu (unmount) poveča število priklopov (mount), da lahko sistem požene fsck, ko je datotečni sistem bil toliko-in-tolikokrat priključen.
Pa verjetno je še kaj drugega - sem pa prepričan, da se file access time ne zapisuje, če je datotečni sistem priključen samo za branje.
Zgodovina sprememb…
- spremenilo: jype ()
jype ::
Bolj ne kot ja.
hdparm -r naprava
Onemogoči pisanje na to napravo. Na celo napravo, ki mora biti neke vrste disk (ATA, SATA, SCSI, SAS).
Nekatera orodja (dumpe2fs, na primer) omogočajo brskanje po datotečnem sistemu, ne da bi se dotikala česarkoli na disku.
hdparm -r naprava
Onemogoči pisanje na to napravo. Na celo napravo, ki mora biti neke vrste disk (ATA, SATA, SCSI, SAS).
Nekatera orodja (dumpe2fs, na primer) omogočajo brskanje po datotečnem sistemu, ne da bi se dotikala česarkoli na disku.
poweroff ::
Hmm, zdajle sem ugotovil, da sem nekoliko zmeden. Prej zgoraj sem se namreč grdo zmotil - najprej sem računal hash od sdc, nato pa hash od sdc1. Seveda sta se razlikovala.
No, zdaj sem skripto napisal na novo in pognal in dejansko je hash od sdc vedno enak:
-r -noatime -nodiratime
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
-r
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
-o ro
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
Primož mi je sicer rekel, da journal vedno replaya , vendar pa to naredi v RAM-u. Če je to res, me ne moti - naj dela v RAMu, kar pač mora, dokler mi ne packa po disku.
Jype: se lahko seda zanesem na to, da mi diska ne bo spreminjal ali bi moral vseeno uporabiti hdparm -r (just in case)? Zanima me seveda za katerikoli FS, ne samo ext3...
No, zdaj sem skripto napisal na novo in pognal in dejansko je hash od sdc vedno enak:
-r -noatime -nodiratime
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
-r
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
-o ro
447c76cec0b8779f9946d7536a7eb2b3 /dev/sdc
Primož mi je sicer rekel, da journal vedno replaya , vendar pa to naredi v RAM-u. Če je to res, me ne moti - naj dela v RAMu, kar pač mora, dokler mi ne packa po disku.
Jype: se lahko seda zanesem na to, da mi diska ne bo spreminjal ali bi moral vseeno uporabiti hdparm -r (just in case)? Zanima me seveda za katerikoli FS, ne samo ext3...
sudo poweroff
poweroff ::
No, sem pa našel še eno zanimivo zadevo, kot kaže namreč livecdji uporabljajo swap od "gostujočega" sistema.
Pri Knoppixu pri remasteringu je treba spremeniti tole:
vi /mnt/hda1/knx/source/KNOPPIX/etc/init.d/knoppix-autoconfig
NOSWAP=""
checkbootparam "noswap" && NOSWAP="yes"
spremenimo v:
# Disable swap
NOSWAP="yes"
#checkbootparam "noswap" && NOSWAP="yes"
Morda kdo ve kaj bi bilo treba spremeniti pri Ubuntu CDju?
Pri Knoppixu pri remasteringu je treba spremeniti tole:
vi /mnt/hda1/knx/source/KNOPPIX/etc/init.d/knoppix-autoconfig
NOSWAP=""
checkbootparam "noswap" && NOSWAP="yes"
spremenimo v:
# Disable swap
NOSWAP="yes"
#checkbootparam "noswap" && NOSWAP="yes"
Morda kdo ve kaj bi bilo treba spremeniti pri Ubuntu CDju?
sudo poweroff
poweroff ::
Če zaženel Ubuntu livecd in rečem cat /proc/swaps, mi ne napiše nobene swap particije.
In to če dam boot parameter live noswap ali če ne dam nobenega parametra.
Je pa res, da imam swap sicer kriptiran... Kako lahko vidim, če je livecd priklopil swap gostujočega sistema?
In to če dam boot parameter live noswap ali če ne dam nobenega parametra.
Je pa res, da imam swap sicer kriptiran... Kako lahko vidim, če je livecd priklopil swap gostujočega sistema?
sudo poweroff
poweroff ::
Hja, potem je Ubuntu livecd flawed by design. :-)
Zdajle sem sprobal na nekriptirani mašini. In če namreč dam boot parameter nowsap, mi zadeva vseeno swapne na disk...
Zdajle sem sprobal na nekriptirani mašini. In če namreč dam boot parameter nowsap, mi zadeva vseeno swapne na disk...
sudo poweroff
Vredno ogleda ...
Tema | Ogledi | Zadnje sporočilo | |
---|---|---|---|
Tema | Ogledi | Zadnje sporočilo | |
» | USB ključ po namestitvi OS nanjOddelek: Pomoč in nasveti | 1018 (780) | Redorange |
» | Software raid 1 (strani: 1 2 )Oddelek: Pomoč in nasveti | 11773 (10915) | uporabniik |
» | Synology NAS DS413J pocasni prenosiOddelek: Strojna oprema | 867 (740) | MK99 |
» | File server in routerOddelek: Pomoč in nasveti | 1567 (1042) | ABX |
» | MyBook STUDIO pod UbuntuOddelek: Operacijski sistemi | 1117 (1021) | Zero0ne |