![](https://seccdn.libravatar.org/avatar/04e9b659dabb6ef88308aa2c68abeb3e.jpg?s=120&d=mm&r=g)
Matthias Kleine
Wie ich kürzlich gelesen habe, kann man die Rechte von Programmen, die von root ausgeführt werden müssen, aber auch von gewöhnlichen Usern mittels suid-Bit ausgeführt werden können, beschränken, indem man ihnen nur diejenigen root-Rechte gewährt, die für die jeweilige Aufgabe wichtig sind. Überflüssige root-Rechte können wieder genommen und somit ein Mißbrauch des suid-Bits vermieden werden.
Ja, das ist mit sogenannten Capabilities moeglich, die von Linux AFAIK seit Kernel-Version 2.2 unterstuetzt werden. Damit koennen einem Prozess gezielt einzelne Privilegien gelassen werden, die er fuer seine Arbeit benoetigt, ohne dass er noch volle root-Rechte hat.
Wie funktioniert das? Welche man page ist mein Freund?
Das Setzen bzw. Abfragen von Capabilities eines Prozesses soll mit den Systemaufrufen capset bzw. capget moeglich sein. Ob Tools im Umlauf sind, die den Umgang mit Capabilities von der Kommandozeile aus unterstuetzen, weiss ich nicht. Dokumentation zu diesem Thema scheint leider auch noch Mangelware zu sein. Eine ziemlich knappe Beschreibung zu den beiden Systemaufrufen habe ich in dem Buch "Linux Kernelprogrammierung" gefunden, ansonsten kann man noch die bekannten Capabilities in /usr/src/linux/include/linux/capability.h nachlesen (in der Datei wird auch noch auf eine Bibliothek namens libcap verwiesen -- vielleicht sollte man sich die mal ansehen). Ich habe noch nicht selbst mit diesen Sachen herumgespielt... Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org - eilert@linuxfreak.com http://www.informatik.uni-bremen.de/~eilert/ --------------------------------------------------------------------- To unsubscribe, e-mail: suse-linux-unsubscribe@suse.com For additional commands, e-mail: suse-linux-help@suse.com
participants (1)
-
eilert@Informatik.Uni-Bremen.DE