Prozesse Eltern und Kinder: Unterschied zwischen den Versionen

Aus Xinux Wiki
Zur Navigation springen Zur Suche springen
 
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt)
Zeile 2: Zeile 2:
 
*Jeder Prozess kann weitere Prozesse erzeugen.  
 
*Jeder Prozess kann weitere Prozesse erzeugen.  
 
*Die erzeugten Prozesse bezeichnet man als Kindprozesse.
 
*Die erzeugten Prozesse bezeichnet man als Kindprozesse.
*Jeder Kindprozess weiß anhand der PPID, woher er stammt.
+
*Jeder Kindprozess weiß anhand der '''P'''arent '''P'''rocess '''ID''', woher er stammt.
 
*Alle Prozesse sind von einem anderen Prozess gestartet worden, mit Ausnahme des Pseudoprozesses.
 
*Alle Prozesse sind von einem anderen Prozess gestartet worden, mit Ausnahme des Pseudoprozesses.
 
*Dieser hat die Prozessnummer 0. Er hat die Aufgabe, den Init Prozess zustarten.
 
*Dieser hat die Prozessnummer 0. Er hat die Aufgabe, den Init Prozess zustarten.
Zeile 11: Zeile 11:
 
{{#drawio:fork-exex}}
 
{{#drawio:fork-exex}}
  
 +
* Dadurch entsteht eine Baumstruktur ähnlich zu den Verzeichnissen
 +
* Anzeigen mit '''pstree'''
  
 +
systemd-+-ModemManager---2*[{ModemManager}]
 +
        |-NetworkManager---2*[{NetworkManager}]
 +
        |-accounts-daemon---2*[{accounts-daemon}]
 +
        |-acpid
 +
        |-avahi-daemon---avahi-daemon
 +
        |-bluetoothd
 +
        |-colord---2*[{colord}]
 +
        |-cron
 +
        |-cups-browsed---2*[{cups-browsed}]
 +
        |-cupsd
  
  
'''Rechte auf Objekte UID GID'''
+
= Rechte auf Objekte UID GID =
Ob ein Prozess auf eine Datei zugreifen kann, entscheidet der Kernel anhand der
+
* Ob ein Prozess auf eine Datei zugreifen kann, entscheidet der Kernel anhand der Zugriffssrechte, die auf der Datei gesetzt sind.
Zugriffssrechte, die auf der Datei gesetzt sind. Er checkt anhand der UID und GID
+
* Er checkt anhand der UID und GID des Prozesses, ob es erlaubt ist. Mit dieser Technik wird letztendlich geprüft, was ein User darf, und was nicht.
des Prozesses, ob es erlaubt ist. Mit dieser Technik wird letztendlich geprüft, was
 
ein User darf, und was nicht.
 

Aktuelle Version vom 23. März 2023, 23:02 Uhr

  • Jeder Prozess kann weitere Prozesse erzeugen.
  • Die erzeugten Prozesse bezeichnet man als Kindprozesse.
  • Jeder Kindprozess weiß anhand der Parent Process ID, woher er stammt.
  • Alle Prozesse sind von einem anderen Prozess gestartet worden, mit Ausnahme des Pseudoprozesses.
  • Dieser hat die Prozessnummer 0. Er hat die Aufgabe, den Init Prozess zustarten.
  • In neuen Linux Distributionen ist dies systemd.
  • Es gibt zwei Arten wie ein Prozess gestartet werden kann:
  1. Fork und Exec: Prozessumgebung wird dupliziert, der neue Prozess bekommt eine eigene neue PID
  2. Exec: Alter Prozess wird durch neuen Prozess überladen (geht mit dem shell-builtin exec)
  • Dadurch entsteht eine Baumstruktur ähnlich zu den Verzeichnissen
  • Anzeigen mit pstree
systemd-+-ModemManager---2*[{ModemManager}]
        |-NetworkManager---2*[{NetworkManager}]
        |-accounts-daemon---2*[{accounts-daemon}]
        |-acpid
        |-avahi-daemon---avahi-daemon
        |-bluetoothd
        |-colord---2*[{colord}]
        |-cron
        |-cups-browsed---2*[{cups-browsed}]
        |-cupsd


Rechte auf Objekte UID GID

  • Ob ein Prozess auf eine Datei zugreifen kann, entscheidet der Kernel anhand der Zugriffssrechte, die auf der Datei gesetzt sind.
  • Er checkt anhand der UID und GID des Prozesses, ob es erlaubt ist. Mit dieser Technik wird letztendlich geprüft, was ein User darf, und was nicht.