Evite a possibilidade de gravar dados em um diretório de ponto de montagem desmontado [duplicado]

21

Eu tenho um servidor Ubuntu no qual estou montando automaticamente um disco rígido externo em cada inicialização.

Para fazer isso, criei uma pasta vazia na partição raiz e a unidade é montada "dentro" dessa pasta.

No entanto, e se eu executar um backup nesse caminho quando a unidade não estiver montada corretamente? O backup, em vez disso, preencheria minha partição raiz!

Posso garantir que a unidade seja montada toda vez executando:

sudo mount -a

... antes de cada backup.

No entanto, quais são as melhores práticas para garantir que os dados nunca sejam gravados na pasta de montagem vazia (exceto quando o disco rígido externo estiver realmente montado)?

Isso pode ser resolvido sem script? Diga com permissões por exemplo? Quais são as melhores práticas?

    
por LonnieBest 27.01.2014 / 22:23

2 respostas

36

Eu vou um passo além e sempre defino os atributos dos meus diretórios de ponto de montagem como imutáveis usando chattr .

Isso é feito com chattr +i /mountpoint (com a montagem desmontada).

Isso eliminaria erros na nova atividade de gravação e também protegeria o ponto de montagem em outras situações.

Mas suponho que você possa usar o comando mountpoint , também;)

    
por 27.01.2014 / 23:22
2

Para expandir o comentário sobre o uso de mountpoint , isso é basicamente o que eu coloco em scripts quando preciso verificar esse tipo de coisa:

DEST='/mnt/backup'
if ! mountpoint -q "$DEST" ; then
    echo "Destination is not mounted; attempting to mount"
    mount $DEST
    if ! mountpoint -q "$DEST" ; then
        echo "Unable to mount $DEST; Aborting"
        exit 1
    fi
    echo "Mounted $DEST; Continuing backup"
fi

Isso pressupõe que $ DEST exista em /etc/fstab ; não importa se é um ponto de montagem auto ou noauto .

De acordo com a página mount man:

If only directory or device is given, for example:

mount /dir

then mount looks for a mountpoint and if not found then for a device in the /etc/fstab file. It's possible to use --tar‐get or --source options to avoid ambivalent interpretation of the given argument. For example

mount --target /mountpoint
    
por 27.01.2014 / 23:10