Jan Hauke Rahm: > On Wed, Mar 05, 2008 at 04:08:55PM +0100, Jochen Schulz wrote: >> Jan Hauke Rahm: >>> >>> Apache2 sucht .htaccess-Dateien und fängt zu hoch an, nämlich in >>> /home/user. Da darf er aber nicht lesen, sodass ich ein Forbidden >>> bekomme. >> >> Soweit ich es verstehe, ist das 'by design' so. Wenn irgendein Prozess >> eine Datei öffnet, steigt er von / herab in jedes Unterverzeichnis >> einzeln (zumindest kann man sich das so vorstellen). > > Nein, ich meine, es mag sein, dass Prozesse so arbeiten, Genauer gesagt: der Kernel prüft, ob jeder der beschriebenen Schritte erlaubt ist. Immer, wenn eine Datei geöffnet wird. > aber es wäre > wohl fatal, wenn der Iceweasel /, /home, /home/user und > /home/user/.mozilla lesen können müsste, um sein Profil zu laden. Das > wäre dämlich by design. Es "wäre" nicht fatal, es ist so: # cd /tmp/ # mkdir test # chmod 700 test # ls -ld test drwx-----x 2 root root 60 2008-03-05 17:54 test/ # touch test/foo # ls -l test/foo -rw-r--r-- 1 root root 0 2008-03-05 17:54 test/foo Mit anderen Worten: eine world-readable Datei in einem 700er Verzeichnis, ähnlich Deinen .htaccess-Dateien. Als ordinärer User dann: $ python -c 'f=open("/tmp/test/foo"); f.close()' Traceback (most recent call last): File "<string>", line 1, in ? IOError: [Errno 13] Permission denied: '/tmp/test/foo' Geht nicht wegen fehlendem x-Bit in einem übergeordneten Verzeichnis. Beweis: # chmod 701 test # ls -ld test drwx-----x 2 root root 60 2008-03-05 17:54 test/ $ python -c 'f=open("/tmp/test/foo"); f.close(); print "geht"' geht Das passiert bei jedem Prozess, auch Firefox. Wenn die UID, unter der Firefox läuft, nicht das Recht hat /home zu betreten, kann er auch sein Profil unterhalb von /home nicht laden. Und ich sehe nicht, warum das ein Problem sein sollte. J. -- I am not scared of death but terrified of people in Tommy Hilfiger sweatshirts. [Agree] [Disagree] <http://www.slowlydownward.com/NODATA/data_enter2.html>
Attachment:
signature.asc
Description: Digital signature