Naar inhoud springen

Ubuntu: Linux voor mensen/Processen/Eigenschappen van processen

Uit Wikibooks

Ubuntu: Linux voor mensen

  1. Wat je moet weten over processen
    1. Wat is een proces?
    2. Soorten processen
    3. Eigenschappen van processen
    4. Informatie over een proces opzoeken
    5. De levenscyclus van een proces
    6. Signalen
  2. Hoe je computer opstart en afsluit
    1. De opstartprocedure
    2. De afsluitprocedure
  3. Processen beheren
    1. Werk voor de systeembeheerder
    2. Hoe lang zal het duren?
    3. Performance
    4. Belasting
    5. Wat kan ik doen?
    6. Processen onderbreken
  4. Processen programmeren voor automatische uitvoering
    1. Maak gebruik van de daluren
    2. Het sleep commando
    3. Het at commando
    4. Het cron systeem
  5. Samenvatting

Elk proces heeft een aantal vaste eigenschappen:

  • Het procesidentificatienummer of PID: een uniek nummer dat gebruikt wordt om naat het proces te verwijzen.
  • Het PID van het proces dat dit proces gestart heeft: parent process ID of PPID- letterlijk: het PID van de ouder.
  • Het zogenaamde nice number: de mate van vriendelijkheid van dit proces: laat het nog veel processorcapaciteit over aan andere processen, of juist niet?
  • De terminal van waaruit dit proces opgestart werd, als het om een interaktief proces gaat. Dit wordt aangeduid met een tty number.
  • De gebruikersnaam van de gebruiker aan wie het proces toebehoort.
  • De groepsnaam van de groep aan wie het proces toebehoort.

Merk op dat de gebruikersnaam bestaat uit een echte gebruikersnaam (real username of RUID) en een effectieve gebruikersnaam (effective username of EUID). De echte gebruiker is diegene die het commando opstartte, de effectieve gebruikersnaam bepaalt de toegangsrechten. Gewoonlijk zijn RUID en EUID hetzelfde, en het proces heeft dezelfde toegangsrechten als de gebruiker. Een voorbeeld om duidelijk te maken wat hiermee bedoeld wordt: de browser firefox:

Voorbeeld code om na te doen

willy@ubunty:~$ which firefox
/usr/bin/firefox
willy@ubunty:~$ ls -l /usr/bin/firefox
lrwxrwxrwx 1 root root 30 2006-06-06 14:17 /usr/bin/firefox -> ../lib/mozilla-firefox/firefox
willy@ubunty:~$ ls -l /usr/libmozilla-firefox/firefox
rwxr-xr-x 1 root root 11170 2005-10-10 17:31 /usr/lib/mozilla-firefox/firefox

Wat zien we hier?

  • firefox zit in de /usr/bin map.
  • /usr/bin/firefox is een symbolische link naar /usr/lib/mozilla-firefox/firefox.
  • De eigenaar van dat bestand is root.

Uitleg

Wie ben ik? Gebruik het id commando om na te gaan als welke gebruiker je aan het werken bent.

De systeembeheerder, root, is de baas van het systeem en heeft alle rechten op alle bestanden. Men zou dus op het eerste zicht kunnen denken dat je met firefox meer zou kunnen dan met bijvoorbeeld het cat commando.

Voorbeeld code om na te doen

Probeer maar eens cat /etc/shadow, dus het bekijken van het bestand waarin de versleutelde wachtwoorden van alle gebruikers van het systeem zitten. Je zal zien dat dit niet lukt. Ook als je in firefox de URL file:///etc/shadow ingeeft, gebeurt er niet veel. Dit komt omdat je de browser opstart met je eigen toegangsrechten, en niet met die van de eigenaar van het commando (kan je nagaan m.b.v. ps -ef). Gelukkig maar, of het hele systeem van toegangsrechten zou op losse schroeven komen te staan.

Hetzelfde geldt voor de toegangsrechten van de groep die eigenaar is van het commando en jouw eigen groepsnaam, waarmee je het commando opstart.

Informatie afkomstig van Wikibooks NL, een onderdeel van de Wikimedia Foundation.