Pro-Linux

Pro-Linux Diskussions- und Hilfeforum
Aktuelle Zeit: 14. Nov 2018 16:07

Alle Zeiten sind UTC+01:00




Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags: Funktionsweise des S-Bit´s
BeitragVerfasst: 02. Nov 2008 18:29 
Offline

Registriert: 19. Okt 2008 20:25
Beiträge: 6
Hallo ! Ich möchte überprüfen, ob ich die Funktionsweise des S-Bit´s in Linux verstanden habe. Ein Prozess mit der Nummer 99 versucht auf eine Datei zuzugreifen.

Dabei überprüft Linux meine Berechtigungen. Stellt Linux fest, dass ich keine Berechtigungen besitze, wird mein Versuch abgewiesen. Ist über bei dieser Datei das S-Bit durch den Eigentümer gesetzt worden, wird meine realen Prozeß-ID durch die effektive Prozeß-ID des Eigentümers ersetzt, bspw. dem User root. Dann kann ich auf diese Datei zugreifen.

Ist das so korrekt?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 02. Nov 2008 19:26 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Du meinst sicher das SUID-Bit der Dateiberechtigungen.

In diesem Fall hast du es falsch verstanden. SUID ist nur dann wirksam, wenn die entsprechende Datei ausgeführt werden kann und jemand genau dies versucht.

Dies geschieht ausschließlich über den execve() -Systemaufruf. Dieser Aufruf prüft die Berechtigungen und lädt bei vorhandener Ausführberechtigung den in der Datei enthaltenen Code in den Speicher. Dann wird geschaut, ob das SUID-Flag gesetzt war. In diesem Fall wird die effektive Userid auf den Eigentümer der Datei gewechselt. Danach wird der alte Code, der das execve() enthielt munmap()ed, danach in den neuen Code gesprungen.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 02. Nov 2008 20:11 
Offline

Registriert: 19. Okt 2008 20:25
Beiträge: 6
Ja genau das meinte ich. Sorry aber Deine Erklärung habe ich noch nicht ganz nachvollziehen können. Könntest du das vielleicht an einem praktischen Beispiel erläutern?


Nach oben
   
 Betreff des Beitrags:
BeitragVerfasst: 02. Nov 2008 20:44 
Offline
Benutzeravatar

Registriert: 11. Feb 2006 19:10
Beiträge: 3569
Öhm, eigentlich war das schon das praktische Beispiel. Dann eben einfacher.

Gegeben: Datei mit x-Berechtigung für alle oder Gruppe -- sonst ist das Quatsch, denn sonst könnte ja ohnehin nur der Besitzer die Datei ausführen. SUID-Flag in der Dateiberechtigung ist ebenfalls gesetzt Besitzer der Datei ist ungleich dem nun ausführenden Benutzer. Benutzer führt Datei aus (per execve() oder irgendeiner Methode, die tief drin exeve() aufruft). Nun wird die Datei ins RAM geladen, die effektive User-ID auf den Besitzer der Datei gesetzt (SUID-Flag) und danach in den neu geladenen Code reingesprungen.

Janka

_________________
Ich vertonne Spam immer in /dev/dsp statt /dev/null.
Ich mag die Schreie.


Nach oben
   
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen  Auf das Thema antworten  [ 4 Beiträge ] 

Alle Zeiten sind UTC+01:00


Wer ist online?

Mitglieder in diesem Forum: Bing [Bot] und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.
Sie dürfen keine Dateianhänge in diesem Forum erstellen.

Suche nach:
Gehe zu:  
cron
Powered by phpBB® Forum Software © phpBB Limited
Deutsche Übersetzung durch phpBB.de