Linux Permissionsystem?

6 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Dateirechte bei Linux (und generell bei unixoiden Systemen) bestimmen, wer was mit der Datei machen darf (und nicht, was die Datei mit dem System machen darf).

Die erste 7: Der Besitzer darf die Datei lesen, ändern und ausführen (bei Ordnern: den Inhalt ansehen).

Die zweite 7: Jedes Mitglied der Gruppe, zu der der Besitzer gehört (soweit ich mich erinnere, die primäre Gruppe - das weiß ich nicht mehr auswendig), darf die Datei lesen, ändern und ausführen.

Die dritte 7: Jeder, der irgendein Benutzer des Systems ist, darf die Datei lesen, ändern und ausführen.

Aber: Wenn die Datei z. B. ein Shell-Script ist, darf das Script trotzdem nicht mehr am System ändern, als es der Benutzer (der die Datei ausführt) darf.

Als ich noch mit UNIX gearbeitet habe, gab es das Owner-S-Bit und das Group-S-Bit. Wenn das gesetzt war, wurde das Programm mit den Rechten des Owners bzw der Owner-Gruppe ausgeführt. Dann sind aber die übrigen Bits mit Sicherheit nicht 777, denn dann könnte es ja jeder ändern.

Keine Ahnung, ob's das immer noch gibt. Ist fast 30 Jahre her. Muss jetzt mit Windows arbeiten.

Gibt's noch: https://www.redhat.com/sysadmin/suid-sgid-sticky-bit

Woher ich das weiß:eigene Erfahrung

Wenn wir ausschließlich von discretionary access control ausgehen, dann wird ein Prozess typischerweise mit den Rechten des ausführenden Users ausgestattet.

ja, chmod 777 lässt alles offen

Kelec  03.02.2024, 17:57

Ja das bedeutet aber nicht dass ein Programm welches von einem User gestartet wird mehr Rechte haben kann als der User selbst.

0

Jedes Programm hat in Linux nur die Rechte die der Nutzer hat welcher das Programm ausführt.

Das Programm kann seine Rechte erweitern wenn der Nutzer es auch kann. Also wenn der Nutzer zB in der Sudoers List ist und damit Dinge als Root ausführen darf, dann kann das von ihm gestartete Programm das ebenfalls.