Gibt es unter Linux eine Möglichkeit, auf Dateien in einem bereitgestellten Dateisystem zuzugreifen, die "gespiegelt" wurden, als ein anderes Dateisystem über ein Unterverzeichnis bereitgestellt wurde?
Z.B
cd /
mkdir /foo
touch /foo/bar
mount /dev/sda1 /foo
# now, can I still get to /foo/bar on the / filesystem?
Die Lösung meiner Träume würde keine erhöhten Berechtigungen erfordern oder spezifisch für ein bestimmtes Dateisystem sein, aber ich werde alle möglichen Botschaften aufnehmen, ohne ein beschädigtes Dateisystem zu riskieren.
mount --bind
die Antwort. Ich war mir aber nicht sicher.Wenn Sie root haben, können Sie
mount --move
das gemountete Dateisystem über einem temporären Verzeichnis ablegen und es anschließend zurückschieben.Wenn Sie über root verfügen, können Sie auch direkt auf die zugrunde liegenden Blockgeräte zugreifen, sofern vorhanden. Für ext4 können Sie
debugfs
zum Exportieren von Dateien verwenden.Schreibgeschützter Zugriff kann niemals das Dateisystem beschädigen.
Für Verzeichnisse können Handles oder Dateideskriptoren abgerufen werden. Das "aktuelle Verzeichnis" ist auch ein Handle, kein Pfad. Wenn Sie ein Handle für ein Verzeichnis haben, können Sie auf Dateien darin zugreifen, auch wenn dieser Speicherort über gemountet wurde. Dies erfordert keine besonderen Privilegien, nur eine besondere Vorbereitung.
quelle