Tornar o ponto de montagem subjacente somente leitura.
Quando o sistema de arquivos adicional é montado, as permissões têm precedência IIRC.
Eu tenho um programa que grava alguns arquivos em um diretório. Meu problema é que, se o diretório não é montado por algum motivo, o programa grava no diretório de qualquer maneira, mas os arquivos acabam no sistema de arquivos do sistema, não no sistema de arquivos normalmente montado. Gostaria que as gravações no diretório falhassem se esse diretório não estivesse montado. Como faço isso no Linux?
Tornar o ponto de montagem subjacente somente leitura.
Quando o sistema de arquivos adicional é montado, as permissões têm precedência IIRC.
Eu tropecei nesse problema uma vez também.
No meu caso, os scripts acessando o diretório em questão como root , então a opção readonly não teria sido uma solução.
Mas há outras duas soluções possíveis:
1º: Verifique com o comando mount, se o diretório estiver montado:
if mount | grep /that/mountpoint
then
...
2º: Crie manualmente um arquivo de flag quando o FS estiver montado e verifique isso no seu script. Se o arquivo de bandeira não estiver lá, o FS não pode ser montado
mount /that/mountpoint
touch /that/mountpoint/.is_mounted
if test -e /that/mountpoint/.is_mounted
then
...
A primeira solução é mais confiável se for adequada ao seu sistema, enquanto a segunda é mais portátil.