Fragen zu init(8)

Manga

Well-Known Member
Hallo,

ich hab mal ein paar Fragen zu init(8)

1. In der manpage steht: "-1 always run the system in level 0 mode."

Ich verstehe nicht ganz den Unterschied zwischen level -1 und 0

2. Mit sysctl .kernsecurelevel lässt sich das security level anzeigen,
wie lässt sich das runlevel anzeigen?


3. Wenn ich in den singelusermode geschaltet hab, gibts dann tatsächlich keine Möglichkeit,
außer reboot um wieder in den Multiusermode zu kommen?

4.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.

Das zählt wohl nur beim allererstenmal, also bei der installation,
oder ist -1 auch nonzero?
Heisst das dann, das das level -1 nur dafür da ist, um im multiusermoder mit level zero arbeiten zu können, die also tatsächlich genau gleich sind?







mfg
 
Es gibt unter BSD keine runlevel. Entweder single user mode (boot -s) oder Multiuser mit Netzwerk und allem was dazugehört. BSD ist kein SysV.

Wenn Du in den single user gehst dann solltest Du mit "strg-d" in den multiuser kommen.

und der kern securelevel ist de securelevel und nicht der runlevel wie bei SysV.
 
Das es unter BSD nicht das wirrwarr mit den runleveln gibt, ist einer der Gründe, warum ich es Linux bevorzuge. Aber in der manpage steht "System V like behaviour".

Ich suche eigentlich nur den schnellsten Weg um zu sehen, ob das System grade im single-, oder multiusermode ist.

Das die securelevels damit nichts zu tun haben, ist mir bewusst,
stand nur auch in der rmanpage von init drin, deshalb bin ich grad auf die Fragen gestossen.


Strg^D hat mir aber schon sehr geholfen.
 
Im Singleusermode bist du, wenn du nur EINE Console zur Verfügung hast. Kannst du hingegen auf eine andere umschalten bist du im Multiuser. ;)
 
Im single user mode ist Deine Büchse wenn Du keine Netzwerkunterstützung hast. Also finger weg davon wenn die Kiste von remote erreichbar sein muss
 
Ueblicherweise weiss man, wenn man im single user Modus gibt. Abgesehen von Wartungsarbeiten gibt es keinen Grund, warum das System nicht im Multiuser sein sollte. Multiuser-Modus ist die Norm.
 
Manga said:
1. In der manpage steht: "-1 always run the system in level 0 mode."

Ich verstehe nicht ganz den Unterschied zwischen level -1 und 0
Wenn du in der rc.conf den Level -1 wählst, dann setzt init(8) ihn auf 0. Setzt du den Level in der rc.conf auf 0, setzt ihn init(8) auf 1. Wenn der Level in der rc.conf schon höher als 0 ist, läßt init(8) den Wert unverändert. Das hat damit zu tun, daß man nicht direkt im Level >0 booten kann, dann darf man keine Dateisysteme mounten.
Manga said:
Ich suche eigentlich nur den schnellsten Weg um zu sehen, ob das System grade im single-, oder multiusermode ist.
Möchest du was skripten, oder wofür soll das gut sein?
Managa said:
Aber in der manpage steht "System V like behaviour".
Und in der Manpage ist auch erläutert, daß sich das auf die zweite Zeile der Übersicht bezieht, und nur der Umsetzung von SysV-üblichen init-Parametern auf BSD-übliche init-Signale dient. Eine entsprechende Tabelle ist auch mit aufgeführt, aber von verschiedenen Runleven im SysV-Stil kann nicht wirklich die Rede sein.
 
Ich hab jetzt ein bisschen rumexperimentiert.Das sysctl kern.securelevel '0' zurückgibt, geht wohl nicht, die einzige möglichkeit in level 0 zukommen ist auf -1 zu gehn, was ja das selbe sein sollte.

Möchest du was skripten, oder wofür soll das gut sein?
Ich dachte einfach es müsste doch eine Möglichkeit geben, zu sehen wo ich bin.
Hab mich aber scheinbar getäuscht, gefundn hab ich jedenfalls nichts.

Ein Verständnisproblem mit level 2 hab ich noch:

"disks may not be opened for writing (except by mount(2)) whether mounted or not."

Was ist damit gemeint? Ich kann jedenfalls problemlos Dateien unter gemounteten Laufwerken ändern und speichern.


mfg


edit:
hab grad festgestellt, das man doch in Level 0 kommt, wenn man im laufenden Betrieb das securitylevel setzt, nur nicht durch die rc.conf, aber wann macht man das schon.
 
Last edited:
Manga said:
Ich hab jetzt ein bisschen rumexperimentiert.Das sysctl kern.securelevel '0' zurückgibt, geht wohl nicht, die einzige möglichkeit in level 0 zukommen ist auf -1 zu gehn, was ja das selbe sein sollte.
Steht ja auch so in der Manpage.
Manga said:
Ich dachte einfach es müsste doch eine Möglichkeit geben, zu sehen wo ich bin.
Also wenn du nicht weißt, daß du das System in den Single-User-Modus gebracht hast, bringt dir ein sysctl o.ä. auch nicht mehr viel...

Manga said:
"disks may not be opened for writing (except by mount(2)) whether mounted or not."

Was ist damit gemeint? Ich kann jedenfalls problemlos Dateien unter gemounteten Laufwerken ändern und speichern.
Du öffnest damit ja auch keine Platte, sondern eine Datei zum Schreiben.
 
Zum Abschluss noch zwei Fragen:

1: Wozu die Unterscheidung zwischen Level 0 und -1?
2:bezogen auf "disks may not be opened for writing (except by mount(2))whether
mounted or not". Wie kann ich die Platte noch manipulieren, das das speziell
geschützt werden kann?


mfg
 
Manga said:
1: Wozu die Unterscheidung zwischen Level 0 und -1?
Das habe ich dir doch oben schon beantwortet.
Manga said:
2:bezogen auf "disks may not be opened for writing (except by mount(2))whether
mounted or not". Wie kann ich die Platte noch manipulieren, das das speziell
geschützt werden kann?
Naja, du könntest zum Beispiel dd if=/dev/zero of=/dev/ad0 ausführen. Oder newfs /dev/ad0. Oder sinngemäß ein mv /dev/ad0 /dev/window durchführen. Gegen letzteres werden allerdings andere Schutzmaßnahmen benötigt, die nicht in FreeBSD implementiert sind.
 
Falls du dich auf
"Wenn du in der rc.conf den Level -1 wählst, dann setzt init(8) ihn auf 0. Setzt du den Level in der rc.conf auf 0, setzt ihn init(8) auf 1"
beziehst,
das ist bei mir nicht der Falll, wenn das Level auf -1 steht, dann bleibt es auch da(wenn er auf 0 steht wird er allerdings erhöht), d.h. mein System läuft immer auf -1. Aber die Notwendigkeit/den Unterschied zwischen den beiden modes wird mir so oder so nicht klar.

mfg
 
Wenn's dich wirklich interessiert, dann kauf dir ein gutes Buch, in dem der Bootprozeß eines FreeBSD-Systems erklärt wird. Das neue Buch von McKusick (ISBN 0201702452) sollte da eine gute Adresse sein, wobei ich persönlich jedoch nur das alte über 4.3BSD habe.
 
Wenn ich wüsste, das das Buch meine Fragen beantwortet, würd ich
vielleicht überlegen es mir zu holen, aber 120 Mark ist schon sauviel Geld.
Vielleicht find ich ja in eine örtlichen Buchhandlung ein Exemplar zum
probelesen (was allerdings eher unwahrscheinlich ist).

Erstmal vielen Dank für die Hilfe
 
Manga said:
...aber 120 Mark ist schon sauviel Geld

<Klugscheiss>
Wo gibt es denn noch Buecher fuer "Mark"?
Das sich einige Leute noch immer nicht an die aktuelle Waehrung, geschweige denn die Trennung von der D-Mark gewoehnt haben, wundert mich jedesmal....
</Klugscheiss>
 
Hier wurde die fast schon in Vergessenheit geratene "D-Mark" offensichtlich nur verwendet, um die Anschaffungskosten dieses Buchs dramatischer erscheinen zu lassen. 120 Mark - das hört sich ja erst mal ziemlich teuer an. In Wirklichkeit kostet das Buch aber gar keine 120 Mark, sondern nur 53,50 EUR · 1,95583 = 104,64 DM. Also, mal immer schön den Ball flach halten :D
 
Also, dass Buch (Design and Implementation of the FreeBSD Operating System) taucht etwas, es ist wie die Vorgänger sehr tiefgehend und beantwortet eigentlich alle Frage hinsichtlich des Kernels und angeschlossener Prozesse.
Aber es ist definitiv KEIN Tutorial-Buch und es setzt ein gewissen Grundwissen vorraus!
 
Back
Top