orm@doc-tcpip.org | Erstellt: Mai 1999 - Letzte Modifikation: Juni 2005 |
Die Permission Bits sind wohl jedem bekannt:
Owner group other
rwx: rwx: rwx
000 000 000
Das ganze geht oktal, also so: 4 2 1.
Ein Beipiel:
rwxr-x--x
111101001
421 ist der Multiplikator
111 ist 7 (4 + 2 + 1)
101 ist 5 (4 + 1)
001 ist 1
Also ist der entsprechende Kode 751 und kann so mit den chmod-Kommando
eingesetzt werden. Das Sticky Bit wird dem Kode vorgestellt, sodaß der
Wert dann 4-Stellig ist.
Die oktale Notation ergibt sich aus der Summe eines oder mehrerer der folgenden Werte:
Früher wurde das sticky bit gesetzt, um anzuzeigen, daß ein Executable im Speicher bleiben soll - dann geht es beim nächsten Aufruf schneller. Das Executable wird also "klebrig" gemacht und läßt sich nicht mehr aus dem Speicher vertreiben. Das ganze macht nur Sinn bei wenig Speicher und langsamen Platten; hier kann es dazu kommen, das ein Programm in den Speicher geladen wird und sich dann quasi selbst mit den Ergebnissen der eigenen Arbeit überschreibt - was die Performance in den Keller bringt, muß doch das Programm dauernd neu eingeladen werden. Diese Funktionalität ist heute tot, denn es gibt demand paging etc.
Das erklärt den heute verwirrenden Namen. Jetzt zeigt diese Bit das SUID (Switch UID) und SGID (Switch GID) Flag an. Man bekommt also bei Ausführung eines Executable, was so geflaggt ist, die effektive UID (GID) des Besitzers bzw. Gruppe. Das ist natürlich mit Vorsicht zu geniesen, schließlich soll nicht jeder wegen einer Kleinigkeit alle möglichen Rechte bekommen - das Programm könnte einen ausnutzbaren Fehler haben (Buffer Overflows oder einen anderen exploit). Es ist daher immer besser, im Programm anhand der Routine oder Funktion zu entscheiden und dann die effektive UID/GID auf dieser Ebene zu switchen.
[ Allgemein | UNIX | AIX | TCP-IP | TCP | ROUTING | DNS | NTP | NFS | FreeBSD | Linux | RPi | SMTP | Tracing | GPS | LW ]
Copyright 2001-2021 by Orm Hager - Es gilt die GPL