Om jag vill montera en imagefil i Linux så görs det genom:
losetup -r /dev/loop0 /path/to/image
Men problemet är då att när jag försöker skriva till den skrivskyddade /dev/loop0 så kommer jag få ett felmeddelande om att den är skrivskyddad.
Jag vill ha samma effekt som dessa "writeblockers" som IT-utredare har, där det ljugs om att skrivningen lyckades, fast den egentligen inte lyckades.
Med andra ord, nuvarande effekt:
root@server-desktop:~# losetup /dev/loop1 imagefile
root@server-desktop:~# echo haha > /dev/loop1
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~# losetup -r /dev/loop1 imagefile
root@server-desktop:~# echo whatnow > /dev/loop1
-bash: echo: write error: Operation not permitted
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~#
Önskad effekt:
root@server-desktop:~# losetup /dev/loop1 imagefile
root@server-desktop:~# echo haha > /dev/loop1
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~# losetup -r /dev/loop1 imagefile
root@server-desktop:~# echo whatnow > /dev/loop1
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~#
Jag har tänkt använda detta ihop med IETd (iSCSI Enterprise Target), så några förslag på hur man redirectar error från "echo"-kommandot kommer inte lösa mitt grundproblem.
Utan blockenheten ska verkligen returnera ACK (istället för NACK), och ljuga om att skrivningarna lyckades när man skriver till den, även om skrivningarna misslyckas pga ro.
Kommandot behöver inte vara losetup i det andra exemplet, utan går bra med andra kommandon.
losetup -r /dev/loop0 /path/to/image
Men problemet är då att när jag försöker skriva till den skrivskyddade /dev/loop0 så kommer jag få ett felmeddelande om att den är skrivskyddad.
Jag vill ha samma effekt som dessa "writeblockers" som IT-utredare har, där det ljugs om att skrivningen lyckades, fast den egentligen inte lyckades.
Med andra ord, nuvarande effekt:
root@server-desktop:~# losetup /dev/loop1 imagefile
root@server-desktop:~# echo haha > /dev/loop1
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~# losetup -r /dev/loop1 imagefile
root@server-desktop:~# echo whatnow > /dev/loop1
-bash: echo: write error: Operation not permitted
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~#
Önskad effekt:
root@server-desktop:~# losetup /dev/loop1 imagefile
root@server-desktop:~# echo haha > /dev/loop1
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~# losetup -r /dev/loop1 imagefile
root@server-desktop:~# echo whatnow > /dev/loop1
root@server-desktop:~# losetup -d /dev/loop1
root@server-desktop:~# cat imagefile
haha
root@server-desktop:~#
Jag har tänkt använda detta ihop med IETd (iSCSI Enterprise Target), så några förslag på hur man redirectar error från "echo"-kommandot kommer inte lösa mitt grundproblem.
Utan blockenheten ska verkligen returnera ACK (istället för NACK), och ljuga om att skrivningarna lyckades när man skriver till den, även om skrivningarna misslyckas pga ro.
Kommandot behöver inte vara losetup i det andra exemplet, utan går bra med andra kommandon.