web-dev-qa-db-fra.com

Empêcher la possibilité d'écrire des données sur un répertoire de point de montage de la seule

J'ai un serveur Ubuntu où je monte un disque dur externe chaque démarrage.

Pour ce faire, j'ai créé un dossier vide sur la partition racine et le lecteur est monté "à l'intérieur" de ce dossier.

Cependant, si j'effectue une sauvegarde sur ce chemin lorsque le lecteur n'est pas correctement monté? La sauvegarde remplirait plutôt ma partition racine!

Je peux m'assurer que le lecteur est monté à chaque fois en effectuant:

Sudo mount -a

... avant chaque sauvegarde.

Cependant, quelles sont les meilleures pratiques pour que les données ne soient jamais écrites dans le dossier montrant vide (sauf lorsque le disque dur externe est vraiment monté)?

Peut-il être résolu sans script? Dire avec des autorisations par exemple? Quelles sont les meilleures pratiques?

30
LonnieBest

Je passe une étape plus loin et je définit toujours les attributs de mes répertoires de mon montage sur immuables à l'aide de CHATTR.

Ceci est accompli avec chattr +i /mountpoint (avec le mont non monté).

Cela ferait une erreur sur une nouvelle activité d'écriture et protège également le point de montage dans d'autres situations.

Mais i Supposons Vous pouvez utiliser la commande , aussi;)

53
ewwhite

Pour développer le commentaire sur l'utilisation de mountpoint, c'est à peu près ce que je mets dans des scripts lorsque j'ai besoin de vérifier ce genre de choses:

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

Cela suppose que $ Dest existe dans /etc/fstab; Peu importe que ce soit un auto ou noauto point de vue.

Selon la page mount manuel:

Si seul le répertoire ou le périphérique est donné, par exemple:

mount /dir

ensuite, monture cherche un point de montage et sinon trouvé alors pour un dispositif dans le fichier/etc/fstab. Il est possible d'utiliser des options --tar-get ou --Source pour éviter une interprétation ambivalente de l'argument donné. Par exemple

mount --target /mountpoint
2
fukawi2