[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