Czy w systemie Linux istnieje sposób na dostęp do plików w zamontowanym systemie plików, które zostały „ukryte”, gdy inny system plików został zamontowany w podkatalogu?
Na przykład
cd /
mkdir /foo
touch /foo/bar
mount /dev/sda1 /foo
# now, can I still get to /foo/bar on the / filesystem?
Rozwiązanie moich marzeń nie wymagałoby podwyższonych uprawnień ani nie było specyficzne dla określonego systemu plików, ale wezmę wszelkie skrawki, które uda mi się uzyskać, nie ryzykując uszkodzonego systemu plików.
mount --bind
była odpowiedź. Ale nie byłem pewien.Jeśli masz root, możesz
mount --move
podłączyć system plików do katalogu tymczasowego, a następnie przenieść go z powrotem.Posiadanie katalogu root umożliwia również bezpośredni dostęp do podstawowych urządzeń blokowych. W przypadku ext4 możesz użyć
debugfs
do eksportu plików.Dostęp tylko do odczytu nigdy nie może uszkodzić systemu plików.
Katalogi mogą mieć dla nich uchwyty lub deskryptory plików. „Bieżący katalog” to także uchwyt, a nie ścieżka. Jeśli masz uchwyt do katalogu, możesz uzyskać dostęp do plików wewnątrz, nawet jeśli ta lokalizacja została zamontowana. Nie wymaga to specjalnych uprawnień, a jedynie specjalne przygotowanie.
źródło