Quando um sistema de arquivos é montado, o ponto de montagem adquire as permissões do inode raiz desse sistema de arquivos. Se um sistema de arquivos não estiver montado, o diretório que atua como ponto de montagem é apenas outro diretório no sistema de arquivos pai.
Você pode usar este fato a seu favor para evitar gravar acidentalmente em um ponto de montagem que não pode ser montado:
- Desmonte o sistema de arquivos de destino.
- Altere as permissões do ponto de montagem para algo hostil.
Algo comochmod 0000 /path/to/mountpoint
deve funcionar bem. - Remontar o sistema de arquivos de destino
As permissões no ponto de montagem devem ser alteradas para corresponder às permissões do inode raiz do sistema de arquivos montado.
Observe que isso não funciona tão bem se root
estiver fazendo a escrita e as verificações de permissão usuais forem ignoradas.
Você pode fazer algo semelhante com immutable
flags ( schg
ou uchg
em Sistemas BSD , o atributo i
em sistemas Linux ) mas eu não testei o comportamento dos atributos do sistema de arquivos pessoalmente. Intuitivamente, eles devem funcionar da mesma forma que as permissões do sistema de arquivos.
Observe que, idealmente, você deseja modificar seus scripts de backup para garantir que o sistema de arquivos apropriado seja montado, caso contrário, você terá que capturar e manipular os erros que as soluções acima gerarão.
Detectar que os sistemas de arquivos apropriados não estão na saída de mount
pode ser uma solução mais robusta.