Re: OT: df command

From: Oliver Fromme <olli(at)lurza.secnetix.de>
Date: Tue, 17 Sep 2013 11:57:45 +0200 (CEST)

Manfred Lotz wrote:
> Oliver Fromme <olli(at)lurza.secnetix.de> wrote:
> > 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 ist die Gefahr, wenn man Fragen stellt: Man könnte viel
mehr erfahren, als man eigentlich wissen wollte. ;-)

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

Entscheidend ist, dass mindestens alle drei x-Bits gesetzt
sind (0111), wenn man möchte, dass der Mointpoint in beide
Richtungen überquert werden können soll. Oder man setzt
die Permissions des Mointpoints immer genau so wie die des
Mounts, der darauf landen soll, so dass das Verhalten beim
Überqueren in beide Richtungen identisch ist (entweder es
geht beides, oder es geht beides nicht).

In der Praxis ist das normalerweise kein Problem, da root
eine umask von 022 haben sollte. Dann werden Verzeichnisse
mit 0755 angelegt, was in der Regel das ist, was man möchte.

Es gibt ein paar paranoide Admins, die als root per default
mit umask 077 o.ä. unterwegs sind. Die müssen dann beim
Anlegen von Mountpoints aufpassen, sonst kommt es zu den
beschriebenen subtilen Problemen. Aber diese Admins haben
dann auch noch ganz andere Probleme.

> # 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.

Auch in dem Fall sollte ein einfaches "df" alle Dateisysteme
anzeigen.

Aber hast Du mal "df /a/b" und "df /a/b/c" probiert?
Letzteres sollte "Permission denied" liefern.

Gruß
   Olli

PS: In der Tat ist "chmod 700 /" keine gute Idee (außer
unter kontrollierten Bedingungen, etwa in einem Jail).

-- 
Oliver Fromme,  secnetix GmbH & Co. KG,  Marktplatz 29, 85567 Grafing
Handelsregister:  Amtsgericht Muenchen, HRA 74606, Geschäftsfuehrung:
secnetix Verwaltungsgesellsch. mbH, Handelsreg.: Amtsgericht München,
HRB 125758, Geschäftsführer:  Maik Bachmann,  Olaf Erb,  Ralf Gebhart
FreeBSD-Dienstleistungen/-Produkte + mehr: http://www.secnetix.de/bsd
C++: "an octopus made by nailing extra legs onto a dog"
        -- Steve Taylor, 1998
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Tue 17 Sep 2013 - 11:57:57 CEST

search this site