No Linux, existe uma maneira de acessar arquivos em um sistema de arquivos montado que foram "sombreados" quando outro sistema de arquivos foi montado sobre um subdiretório?
Por exemplo
cd /
mkdir /foo
touch /foo/bar
mount /dev/sda1 /foo
# now, can I still get to /foo/bar on the / filesystem?
A solução dos meus sonhos não exigiria permissões elevadas ou seria específica para um determinado sistema de arquivos, mas aceitarei todos os recados que puder obter sem arriscar um sistema de arquivos corrompido.
mount --bind
fosse a resposta. Mas eu não tinha certeza.Se você possui root, pode
mount --move
instalar o sistema de arquivos em um diretório temporário e depois movê-lo de volta.Ter root também permite acessar diretamente os dispositivos de bloco subjacentes, se houver. Para ext4, você pode usar
debugfs
para exportar arquivos.O acesso somente leitura nunca pode corromper o sistema de arquivos.
Os diretórios podem ter identificadores ou descritores de arquivos, obtidos para eles. O "diretório atual" também é um identificador, não um caminho. Se você tiver um identificador para um diretório, poderá acessar os arquivos dentro dele, mesmo que esse local tenha sido montado. Isso não precisa de privilégios especiais, apenas preparação especial.
fonte