[linux-l] Re: /proc & Co.
Peter Ross
Peter.Ross at alumni.tu-berlin.de
So Okt 22 13:47:40 CEST 2006
On Sat, 21 Oct 2006, olafBuddenhagen at gmx.net wrote:
> Bei Dateisystem-Aufrufen ist der Eintrittspunkt genauso exakt definiert,
> nur dass er sich an einer anderen Stelle befindet. (Nicht im Code der
> den Syscall selbst entgegennimmt, sondern erst in dem Code der sich um
> eigentliche pseudo-Datei kümmert.)
Es gibt ja noch mehr als nur das herkoemmliche
User-Group-Others-Zugriffsrechtekonzept, SELinux z.B., oder FreeBSDs jail,
und dann wird es richtig haarig, wenn man etwas zunaechst "offenes" wie
ein Filesystem nachtraeglich abdichtet. Das Windows-Syndrom..
Dazu noch die Mehrdeutigkeiten, wenn ich einen Prozess mit jails unter
/myjail einsperre, (oder vielleicht auch nur mit chroot) brauche ich dann
auch /myjail/proc?
jail, auch wenn es nicht Linux, sondern FreeBSD ist, ist ein exzellentes
Beispiel, weshalb ich es eroertern will. Jeder Prozess hat eine Jail-ID,
die abgefragt wird, wenn es um Zugriffe geht. Auch ist die Wurzel im
Dateisystem fuer jedes Jail bekannt.
sysctl ist ein Eintrittspunkt fuer _alle_ Zugriffe auf das, was Du nun
unter /proc hast. Hier kannst Du erstmal sagen, "wenn Prozess im Jail,
dann Zugriff verweigert", und schon hast Du erst einmal ein sehr sicheres
System, mit nur einer Zeile Programmcode im Kernel.. und davon ausgehend,
kannst Du nach hinreichender Ueberlegung vielleicht das Tuerchen hier und
da ein Stueckchen oeffnen.
Ich sehe keinen echten Vorteil fuer den ganzen procfs-Kram unter mehr
oder minder traditionellem Unix, nur, dass es einem ueberall auf die
Fuesse fallen kann.
> Das ist ein interessanter Aspekt, über den ich mir bisher keine Gedanken
> gemacht habe. Prizipiell kann man den Inhalt einer pseudo-Datei ja auch
> aktualisieren, wenn sie geöffnet ist. Könnte aber zu Konsistenzproblemen
> führen... Wie wird das bei /proc und /sys gehandhabt?
Ich hoffe, dass bei geoeffneter Datei zweimal an der selben Position lesen
zweimal die gleichen Werte zurueckgibt.
In /proc zu locken klingt so sinnvoll nicht..
> Wie geht Plan9 damit um?
Gute Frage.. Ich habe eine leise Ahnung, aber kein Detailwissen ueber
Plan9, aber soweit ich weiss, sind Files dort ein so grundlegendes
Konzept, dass eher das VFS darauf aufbaut, um eine "Unix-Schnittstelle" zu
etablieren. Es ist eben kein traditionelles Unix. Moeglicherweise gibt es
daher dort besser Moeglichkeiten, damit umzugehen, aber dann eher "ganz
unten" im System.
Gruss
Peter
Mehr Informationen über die Mailingliste linux-l