Interpretation 1: Ein Verzeichnis ist ein Unterraum des Dateisystems. Es kann weiter in Unterbereiche unterteilt werden, indem darin Unterverzeichnisse erstellt werden. Der Besitzer des Verzeichnisses foosoll innerhalb der Subraum Kontrolle über alles hat: foo/bar, foo/bar/quxusw.
Interpretation 2: Ein Verzeichnis ist ein Unterraum des Dateisystems. Jedes Verzeichnis ist an ein anderes Verzeichnis angehängt, das als übergeordnetes Verzeichnis bezeichnet wird. Der Eigentümer des Verzeichnisses foohat die Kontrolle über alles im Unterraum. Bei einem Unterverzeichnis foo/barhat der Eigentümer von foojedoch die Kontrolle darüber, ob barer an das foo, was sich darin befindet, angehängt werden kann, aber nicht darüber. barNur der Eigentümer von barhat die Kontrolle darüber.
Beweise für Interpretation 2: Wie Sie bemerkt haben, die Art und Weise, wie Berechtigungen funktionieren. Auch die Tatsache, dass einige Unix-Dateisysteme das Anhängen eines Verzeichnisses an mehr als ein übergeordnetes Verzeichnis ermöglichen: Dies wird als mehrere feste Links bezeichnet. (Bei normalen Dateien ist es üblich, mehrere feste Links zu haben, bei Verzeichnissen wird dies jedoch normalerweise nicht empfohlen oder verboten, hauptsächlich wegen des Risikos, Schleifen zu erstellen, bei denen ein Verzeichnis von seinen Großeltern N-mal entfernt wird. Sie können also nicht vom Stammverzeichnis darauf zugreifen Verzeichnis, was eine sehr häufige Erwartung ist. Es gibt auch das Problem, was zu tun ist, wenn ein Verzeichnis 0 feste Links hat, aber nicht leer ist: Da das Verzeichnis nicht angehängt ist, möchten Sie es löschen, aber was tun Sie damit? Inhalt?)
Beweis für Interpretation 1: In der Praxis haben Verzeichnisse einen einzigen Elternteil und bilden so eine Baumstruktur. Und Sie können nicht darauf zugreifen, es foo/bar/quxsei denn, Sie haben die Ausführungsberechtigung foofür bar(naja, außer dass es etwas undurchsichtige Möglichkeiten gibt, Zugriff zu erhalten, barohne Zugriff zu erhalten foo). Die oberen Ebenen spielen also eine Rolle.
Praktischer gesagt, in Ihrer Situation kann Benutzer A dies tun
mkdir Müll
mv foo / bar müll /
rmdir foo