OpenBSD auf CF Read-Only??

radiohead

Well-Known Member
Moinsen,

wie ist das eigentlich mit dem ro mounten der gesamten CF Card? Ich möchte nur meine /var/log Partition rw gemountet lassen, der rest soll auf ro. Wie mache ich sowas und vor allem wie bekommt man es rückgängig für Änderungen? Wenn /etc/fstab auch ro ist, wie kann ich in der Datei denn wieder rw angeben und speichern?

Gibt es so was wie remount, rw (im Linux) auch im *BSD Bereich? Wenn ja, dann kann doch aber auch jeder Angreifer im Prinzip auf das System kommen, ein remount rw machen und dann hat er Vollzugriff oder sehe ich das falsch?

Hoffe auf Erleuchtung ;)
 
Es reicht die Partition in der fstab mit ro zu mounten, bei Bedarf mountest du sie im laufeneden Betrieb rw und nach irgendwelchen Änderungen wieder ro.
So mach ich es zumindest wenn ich auf meinem Router mal die pf.conf etc. anpasse.

Edit: Mist warte...
Ich habe mein /var im RAM. Von daher werden bei mir Logs gespeichert bis ich eben den Stecker ziehe.
Nur / mounte ich ab und an mal mit rw.

Hier gehts um ein komplett ro gemountetes OpenBSD aufm Wrap:
http://blog.innerewut.de/2005/05/14/openbsd-3-7-on-wrap
http://blog.innerewut.de/2005/05/19/openbsd-3-7-on-wrap-revised
 
Zuletzt bearbeitet:
Wenn man aber alles im laufenden Betrieb wieder rw mounten kann, wozu es denn erst ro mounten? Wenn ein Angreifer auf dem System ist, kann er ja ganz leicht rw mounten und machen, was er will....

Oder geht es bei dem ro Gedanken bei einer CF Card nur darum, dass man eine CF Card nicht unendlich wiederbeschreiben kann? Bei den SanDisk CF Cards steht allerdings schon "unendlich viele Schreibzyklen"...
 
Es geht mehr um die Integrität des Dateisystems nach einem Stromausfall oder dergleichen. Selbst mit einem Journaling-FS bleibt immer ein Restrisiko.
 
Mir gehts beim router darum, die Karte nicht unnötig zu belasten und den Stecker zu ziehen wenn mir danach ist (so wie bei jedem D-Link Netgear etc. Router).
 
Gut, dann habe ich das auch verstanden ;)

Klappt bei mir jetzt auch wunderbar. Ich hatte nämlich mal testweise immer wieder den Stecker gefunden und irgendwann bootet die Kiste dann natürlich auch nicht mehr ohne Eingriff und manuelles fsck. Also macht das so schon Sinn. Danke Jungs!

Eine Frage habe ich da aber noch. Ich kann das / FS immer on the fly ro oder auch wieder rw mounten, nur bei /usr bekomme ich da folgendes:

Code:
# mount -o rw /usr/                                                                                         
mount_ffs: /dev/wd0d on /usr: Device busy

Kann man das irgendwie umgehen oder geht das echt nur wenn ich die fstab anpasse und reboote? Wäre ja doof, nur um mal ein Paket zu installieren...
 
Mal ne verwandte Frage: Im Sinne der "Übernahmesicherheit" wäre es doch nett, den Schreibzugriff auf die CF-Karte per Hardware zu unterbinden. Bei IDE gabs doch mal diese Schreibschutzschalter-auf-Leitung-xy - Tricks - da CF anche an IDE sein soll, geht sowas auch mit CF? Und welche(n) Pin(s) müsste man "Deaktivieren"?
 
Eine Frage habe ich da aber noch. Ich kann das / FS immer on the fly ro oder auch wieder rw mounten, nur bei /usr bekomme ich da folgendes:

Code:
# mount -o rw /usr/                                                                                         
mount_ffs: /dev/wd0d on /usr: Device busy

Kann man das irgendwie umgehen oder geht das echt nur wenn ich die fstab anpasse und reboote? Wäre ja doof, nur um mal ein Paket zu installieren...

Kann es sein, daß dein ~ in /usr liegt und damit ebenfalls auf wd0d? Wenn ja, da, dann wechsel mal vorher auf ein anderes Verzeichnis, das nicht auf wd0d ist (/ oder /var) und versuchs nochmal.

Gruß
 
Nein. /root und /home liegen nicht in /usr....

Bist du sicher? Ich mache das immer manuell, aber ich meine OpenBSD schlägt für ~ kein eigenes Label vor und damit liegt das bei der Standardinstallation in /usr.
/home gibt es bei einer Standardinstallation garnicht.

Gruß

edit: Vergiss es - da du ja an der fstab rumspielst wirds wohl tatsächlich so sein wie du sagst. :rolleyes:
 
Code:
# ls -l /
total 12412
-rw-r--r--   1 root    wheel       578 Mar 10 02:00 .cshrc
-rw-r--r--   1 root    wheel       292 Mar 10 02:00 .profile
drwxr-xr-x   2 root    wheel       512 Mar 10 02:00 altroot
drwxr-xr-x   2 root    wheel      1024 Mar 10 02:03 bin
-rw-r--r--   1 root    wheel     43060 Aug 28  2007 boot
-rw-r--r--   1 root    wheel   6229740 Mar 10 02:36 bsd
drwxr-xr-x   3 root    wheel     20992 Mar 15 22:50 dev
drwxr-xr-x  19 root    wheel      2560 Aug 28  2007 etc
drwxr-xr-x   3 root    wheel       512 Aug 28  2007 home
drwxr-xr-x   2 root    wheel       512 Mar 10 02:00 mnt
drwxr-xr-x   4 root    wheel       512 Aug 28  2007 proto
drwx------   3 root    wheel       512 Mar 15 20:24 root
drwxr-xr-x   2 root    wheel      1536 Mar 10 02:03 sbin
drwxr-xr-x   4 _squid  _squid      512 Mar 15 20:09 squid
drwxr-xr-x   2 root    wheel       512 Mar 10 02:00 stand
lrwxr-xr-x   1 root    wheel         9 Aug 28  2007 tmp -> /var/tmp/
drwxr-xr-x  16 root    wheel       512 Mar 10 02:00 usr
drwxr-xr-x  22 root    wheel       512 Mar 16 11:09 var

Code:
# df -h
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/wd0a      506M   35.5M    445M     7%    /
/dev/wd0d     1009M    120M    838M    12%    /usr
/dev/sd0a      131M   61.2M   62.7M    49%    /squid
mfs:32303     30.7M    6.1M   23.0M    21%    /var
mfs:30143      903K   34.0K    824K     4%    /dev
 
Bist du sicher? Ich mache das immer manuell, aber ich meine OpenBSD schlägt für ~ kein eigenes Label vor und damit liegt das bei der Standardinstallation in /usr.
/home gibt es bei einer Standardinstallation garnicht.

Da musst du was verwechseln. OpenBSD verhält sich nämlich überhaupt nicht so.

auf bald
oenone
 
Hier noch ein paar Tipps!

Regelmässiges sichern aller Files in /var

crontab -l
Code:
...
4       *       *       7       /bin/sh /root/sync.sh > /tmp/rsync.err
...

# cat sync.sh
Code:
/sbin/mount -w /
/usr/local/bin/rsync -va /var/ /proto/var/ > /var/log/rsync.txt
/sbin/mount -rf /

Und herunterfahren mit
# cat /etc/rc.shutdown
Code:
#       $OpenBSD: rc.shutdown,v 1.7 2006/06/22 00:41:59 deraadt Exp $
#
# If it exists, this script is run at system-shutdown by reboot(8),
# halt(8).  If the architecture supports keyboard requested halting,
# it is also run by init(8) when such an event happens.
#

powerdown=NO    # set to YES for powerdown

#
# Your shell code goes here
#
/sbin/mount -w /
/usr/local/bin/rsync -va /var/ /proto/var/
 
Noch etwas. Das weekly crontab Script benötigt rw Rechte in /usr, weil es die whatis DB rebuilden will. Also sollte man das /etc/weekly script auch noch so anpassen, dass beim Start /usr rw gemountet wird und danach wieder aus ro...
 
Zurück
Oben