Bekomme securelevel nicht gleich 0

knpx

New Member
Ich bin neu bei FreeBSD 5.2.1. Und musste mich, da ich den X-Server nutzen möchte erst einaml mit den securelevels auseinander setzten. Habe man-pages und google gelesen. Aber ein Problem bleibt nocht:
Wenn ich kern.securlevel=0 setzte, kommt init und setzt es beim start gleich 1 und aus ists mit x.
In den manpage steht ja: "If the security level is initially nonzero, then init leaves it
unchanged. Otherwise, init raises the level to 1 before going multi-user
for the first time."
Wie kann man dann das secuity level überhaubt gleich 0. Bekommen, wenn init es immer gleich 1 setzt, befor man in den multi-user modus kommt?

Schon einmal im vorraus vielen Dank für eure Hilfe.

Grüße Knpx
 
Schau mal in die /etc/rc.conf bzw. /etc/sysctl.conf darüber wird Dein securelevel über einen Eintrag hochgesetzt.
Setze den Wert einfach auf "0" oder "-1" und boote neu.
 
Wird kern.securelevel eventuell in deiner /etc/rc.conf auf 1 gesetzt?
Ich kann das nicht so recht nachvollziehen, da der Wert standardmäßig auf -1 gesetzt; auch bei einem ganz frischen 5.2.1.

Björn
 
asg schrieb:
Schau mal in die /etc/rc.conf bzw. /etc/sysctl.conf darüber wird Dein securelevel über einen Eintrag hochgesetzt.
Setze den Wert einfach auf "0" oder "-1" und boote neu.

Das habe ich schon gemacht (wie gesagt man-pages gelesen :) ). Desshalb macht es mich ja so stutzig. Wenn ich in rc.conf und sysctl.conf gleich 0 setzt bekomme ich trotztem am ende des Bootvorganges die Meldung(in etwa): Datum host init: raising security level 0 -> 1.
Das aller verwunderlichste ist ja noch, das diese Meldung sogar kommt, wenn ich in rc.conf kern_securelevel_enable="NO" setzte. Es ist klar, dass ich da ihrgend wo einen Fehler mache. Doch leider kann ich ihn nicht finden.

Gruß Knpx
 
Björn König schrieb:
Wird kern.securelevel eventuell in deiner /etc/rc.conf auf 1 gesetzt?
Ich kann das nicht so recht nachvollziehen, da der Wert standardmäßig auf -1 gesetzt; auch bei einem ganz frischen 5.2.1.

Björn

Wenn ich ihn auf -1 setzte (in sysctl.conf und rc.conf(ist beides nötig?)) funktioniert es auch. Aber ich würde ja gerne 0 nutzen. Oder ist der sicherheits Unterschied nicht lohnenswert?
Ich habe ja oben sch einmal aus der manpage von init zitiert: "If the security level is initially nonzero, then init leaves it unchanged. Otherwise, init raises the level to 1 before going multi-user for the first time."
Ist dan überhaubt 0 möglich, wenn init den Wert bei 0 immer auf 1 setzt? Wo ist da mein Denkfehler?
 
knpx schrieb:
Wenn ich ihn auf -1 setzte (in sysctl.conf und rc.conf(ist beides nötig?)) funktioniert es auch. Aber ich würde ja gerne 0 nutzen. Oder ist der sicherheits Unterschied nicht lohnenswert?
Ich habe ja oben sch einmal aus der manpage von init zitiert: "If the security level is initially nonzero, then init leaves it unchanged. Otherwise, init raises the level to 1 before going multi-user for the first time."
Ist dan überhaubt 0 möglich, wenn init den Wert bei 0 immer auf 1 setzt? Wo ist da mein Denkfehler?

soweit ich weiß, ist securelevel 0 unmöglich zu setzten. Er wird nur intern benutzt um auf 1 hoch zu kommen. Deshalb kann man nur -1,1,2,3 setzen.

0 hätte ja auch keine Auswirkungen, wie du der man-page entnehmen kannst.
 
asg@pcs28: ~> sysctl kern.securelevel
kern.securelevel: -1

/home/asg# /home/asg# sysctl kern.securelevel=0
kern.securelevel: -1 -> 0

/home/asg# sysctl kern.securelevel
kern.securelevel: 0

Also es geht schon. Ich habe securelevel "0" noch nie versucht beim booten zu setzen, entweder gleich auf 1,2, oder 3 bzw. -1.
Sollte es beim booten nicht gehen, so kannst Du immer noch später den securelevel auf "0" setzen. Wobei es mich wundert das dies beim booten nicht gehen soll...
 
Ich hab eben mal herumgespielt und ausprobiert: Wenn man ihn auf -1 hat, dann passiert nichts beim Bootvorgang. Und man kann ihn nachträglich manuell auf "0" setzen. Aber wenn man in der rc.conf 0 eingetragen hat, dann setz ihn init automatisch auf "1".

Code:
[...]
Raising kernel security level:
kern.securelevel: -1 -> 0
Starting background file system checks in 60 seconds.

Fri Jul  9 08:53:47 CEST 2004
Jul  9 08:53:47  init: kernel security level changed from 0 to 1

FreeBSD/i386 (Amnesiac) (ttyv0)

login:
Das Verhalten finde ich jetzt aber auch nur logisch, da 0 keine Sicherheit bringt. Wenn man permanent keine Kernelsicherheit möchte, dann kann man es auch bei -1 belassen. 0 wird wohl nur für den Bootvorgang benötigt. Ansonsten ist die erste Stufe der Sicherheit eben 1.

Björn
 
knpx schrieb:
Das habe ich schon gemacht (wie gesagt man-pages gelesen :) ). Desshalb macht es mich ja so stutzig. Wenn ich in rc.conf und sysctl.conf gleich 0 setzt bekomme ich trotztem am ende des Bootvorganges die Meldung(in etwa): Datum host init: raising security level 0 -> 1.
Das aller verwunderlichste ist ja noch, das diese Meldung sogar kommt, wenn ich in rc.conf kern_securelevel_enable="NO" setzte. Es ist klar, dass ich da ihrgend wo einen Fehler mache. Doch leider kann ich ihn nicht finden.

Gruß Knpx


Sysctl kann auch noch über "/etc/rc.conf.local" und "/boot/loader.conf.local" gesetzt werden.
(os4.org/os/bsd/freebsd/sysctl.html)
 
Zurück
Oben