Zugriffsproblem in /proc/$pid nach chroot

30/08/2007 - 19:35 von Hauke Laging | Report spam
Moinsen,

ich baue mir gerade eine chroot-Umgebung und stoße auf folgendes Problem:

cad-srmd:/proc/27835 # ls -l
/bin/ls: Lesen der symbolischen Verknüpfung cwd nicht möglich: Keine
Berechtigung
/bin/ls: Lesen der symbolischen Verknüpfung root nicht möglich: Keine
Berechtigung
/bin/ls: Lesen der symbolischen Verknüpfung exe nicht möglich: Keine
Berechtigung
insgesamt 0
dr-xr-xr-x 2 0 0 0 2007-08-30 17:22 attr/
-r-- 1 0 0 0 2007-08-30 17:22 auxv
-r--r--r-- 1 0 0 0 2007-08-30 17:21 cmdline
lrwxrwxrwx 1 0 0 0 2007-08-30 17:22 cwd
-r-- 1 0 0 0 2007-08-30 17:22 environ
lrwxrwxrwx 1 0 0 0 2007-08-30 16:51 exe
dr-x 2 0 0 0 2007-08-30 16:37 fd/
-rw-r--r-- 1 0 0 0 2007-08-30 17:22 loginuid
-r--r--r-- 1 0 0 0 2007-08-30 17:22 maps
-rw- 1 0 0 0 2007-08-30 17:22 mem
-r--r--r-- 1 0 0 0 2007-08-30 17:22 mounts
-rw-r--r-- 1 0 0 0 2007-08-30 17:22 oom_adj
-r--r--r-- 1 0 0 0 2007-08-30 17:22 oom_score
lrwxrwxrwx 1 0 0 0 2007-08-30 17:22 root
-rw- 1 0 0 0 2007-08-30 17:22 seccomp
-r--r--r-- 1 0 0 0 2007-08-30 16:51 stat
-r--r--r-- 1 0 0 0 2007-08-30 16:51 statm
-r--r--r-- 1 0 0 0 2007-08-30 17:21 status
dr-xr-xr-x 3 0 0 0 2007-08-30 17:22 task/
-r--r--r-- 1 0 0 0 2007-08-30 17:22 wchan

Hinter den Kulissen liest sich das so:
readlink("exe", 0x80633d8, 1) = -1 EACCES (Permission denied)

Im Hostsystem ist das kein Problem. Auch der Zugriff auf das Linkziel ist
aus keinem der beiden Systeme problematisch. Wie absurd ist es eigentlich,
dass man EINEN TEIL des Verzeichnisinhalts nicht lesen können soll? Ich
dachte immer, entweder hat man r auf ein Verzeichnis oder eben nicht...

Das ganze als root unter SuSE 10.0.

Der einzige mir bisher bekannte Grund für solche "Geistereffekte" sind
Kernelschweinereien. Aber AppArmor ist laut yast deaktiviert.


CU

Hauke
 

Lesen sie die antworten

#1 Helmut Waitzmann
31/08/2007 - 04:06 | Warnen spam
Hauke Laging writes:

Moinsen,

ich baue mir gerade eine chroot-Umgebung und stoße auf folgendes Problem:

cad-srmd:/proc/27835 # ls -l
/bin/ls: Lesen der symbolischen Verknüpfung cwd nicht möglich: Keine
Berechtigung
/bin/ls: Lesen der symbolischen Verknüpfung root nicht möglich: Keine
Berechtigung
/bin/ls: Lesen der symbolischen Verknüpfung exe nicht möglich: Keine
Berechtigung
insgesamt 0
dr-xr-xr-x 2 0 0 0 2007-08-30 17:22 attr/
-r-- 1 0 0 0 2007-08-30 17:22 auxv
-r--r--r-- 1 0 0 0 2007-08-30 17:21 cmdline
lrwxrwxrwx 1 0 0 0 2007-08-30 17:22 cwd
-r-- 1 0 0 0 2007-08-30 17:22 environ
lrwxrwxrwx 1 0 0 0 2007-08-30 16:51 exe
dr-x 2 0 0 0 2007-08-30 16:37 fd/
-rw-r--r-- 1 0 0 0 2007-08-30 17:22 loginuid
-r--r--r-- 1 0 0 0 2007-08-30 17:22 maps
-rw- 1 0 0 0 2007-08-30 17:22 mem
-r--r--r-- 1 0 0 0 2007-08-30 17:22 mounts
-rw-r--r-- 1 0 0 0 2007-08-30 17:22 oom_adj
-r--r--r-- 1 0 0 0 2007-08-30 17:22 oom_score
lrwxrwxrwx 1 0 0 0 2007-08-30 17:22 root
-rw- 1 0 0 0 2007-08-30 17:22 seccomp
-r--r--r-- 1 0 0 0 2007-08-30 16:51 stat
-r--r--r-- 1 0 0 0 2007-08-30 16:51 statm
-r--r--r-- 1 0 0 0 2007-08-30 17:21 status
dr-xr-xr-x 3 0 0 0 2007-08-30 17:22 task/
-r--r--r-- 1 0 0 0 2007-08-30 17:22 wchan

Hinter den Kulissen liest sich das so:
readlink("exe", 0x80633d8, 1) = -1 EACCES (Permission denied)

Im Hostsystem ist das kein Problem. Auch der Zugriff auf das Linkziel ist
aus keinem der beiden Systeme problematisch. Wie absurd ist es eigentlich,
dass man EINEN TEIL des Verzeichnisinhalts nicht lesen können soll? Ich
dachte immer, entweder hat man r auf ein Verzeichnis oder eben nicht...



Du suchst in der falschen Richtung nach der Ursache:

Du hast vollstàndigen Lesezugriff auf das Verzeichnis, sonst hàtten Dir
nicht alle darin enthaltenen Dateinamen angezeigt werden können.

Du hast vollstàndigen Suchzugriff (»x«) auf das Verzeichnis, sonst hàtte
»ls« Dir (mittels des Systemaufrufs »stat«) keine Typen (1. Spalte) und
Klassifizierungsangaben (siehe das »/«-Zeichen hinter den
Verzeichnisnamen) der darin enthaltenen inodes anzeigen können.

Warum »readlink()« Dir Information vorenthàlt, weiß ich leider nicht.
Wer mir E-Mail schreiben will, stelle | When writing me e-mail, please
bitte vor meine E-Mail-Adresse meinen | precede my e-mail address with
Vor- und Nachnamen, etwa so: | my full name, like
Helmut Waitzmann , (Helmut Waitzmann)

Ähnliche fragen