Re: OT: df command

From: Manfred Lotz <manfred.lotz(at)arcor.de>
Date: Mon, 16 Sep 2013 17:06:37 +0200

On Mon, 16 Sep 2013 10:48:41 +0200 (CEST)
Oliver Fromme <olli(at)lurza.secnetix.de> wrote:

> Manfred Lotz wrote:
> > Ich habe in der Zwischenzeit noch ein interessanter Phänomen
> > festgestellt.
> >
> > Wenn es /a/b/c gibt und wenn an /a/b als auch an /a/b/c ein
> > Filesystem gemountet ist, dann zeigt ein df auf z/OS USS beide
> > Filesysteme an, auch wenn der Aufrufer keine Permission (0) hat
> > für /a/b. Für /a hat er natürlich eine 5.
> >
> > Das ist doch dann eigentlich als Bug zu sehen, oder übersehe ich
> > da was?
>
> Vorsicht, bei Mointpoints ist es etwas diffizil: Es spielen
> sowohl die Permissions der "Wurzel" des gemounteten Datei-
> systems eine Rolle als auch die Permissions des darunter
> befindlichen Mountpoints. Letztere sieht man natürlich nach
> dem Mounten nicht mehr. Beschrieben ist dies bei FreeBSD in
> der mount(8)-Manpage im Abschnitt "CAVEATS".
>

Huch, jetzt wird es richtig kompliziert. Ich hatte naiv angenommen,
dass nach dem overshadowing das unten drunter nicht mehr interessiert.

> Das kann zu irritierenden Effekten führen. Folgendes z.B.
> unter FreeBSD (prinzipiell aber auch anderswo):
>
> # mkdir /tmp1 /tmp2
> # chmod 1777 /tmp1
> # chmod 1700 /tmp2
> # mount -t tmpfs tmpfs /mnt1
> # mount -t tmpfs tmpfs /mnt2
> # chmod 1777 /tmp1 /tmp2
> # suspend
> $ ls -ld / /tmp1 /tmp2
> drwxr-xr-x 20 root wheel 512 Sep 16 10:19 /
> drwxrwxrwt 10 root wheel 180 Sep 16 10:29 /tmp1
> drwxrwxrwt 2 root wheel 0 Sep 16 10:20 /tmp2
> $ ls -ld /tmp1/..
> drwxr-xr-x 20 root wheel 512 Sep 16 10:19 /tmp1/..
> $ ls -ld /tmp2/..
> ls: /tmp2/..: Permission denied
>
> Ob bestimmte Programme einen Fehler melden oder nicht,
> kann von Kleinigkeiten in deren Programmierung abhängen,
> etwa in welcher Reihenfolge der Pfad traversiert wird,
> oder ob Parent-Verzeichnisse vorher aufgelöst werden
> oder nicht:
>
> /bin/sh von FreeBSD:
> $ cd /tmp2
> $ cd ..
> cd: ..: Permission denied
>
> csh bzw. tcsh:
> % cd /tmp2
> % cd ..
> .: Permission denied.
>
> zsh aus den Ports (mit Default-Optionen):
> $ cd /tmp2
> $ cd ..
> $ pwd
> /
>

Um diese Komplexitäten auszuschalten, solle man, denke ich, immer 755
für die Mountpoints machen.

Das war jedenfalls sehr aufschlussreich, obwohl das nicht der Fall ist,
den ich meinte.

Ich meinte sowas:

# mkdir -p /a/b
# chmod 755 /a/b

# mount /dev/... /a/b
# chmod 700 /a/b

# mkdir -p /a/b/c
# chmod 755 /a/b/c

# mount /dev/... /a/b/c
# chmod 700 /a/b/c

nun hatte ich als nicht root user bei df beide an /a/b/ und a/b/c
angezeigte Filesysteme angezeigt bekommen, ohne irgendeine
Fehlermeldung.

In deinem Beispiel hätte man dann chmod 700 / machen müssen, was man
sicher auch nicht für einen Test wirklich machen will.

-- 
Manfred
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 16 Sep 2013 - 17:06:48 CEST

search this site