Sur mon système Linux Arch (Linux Kernel 3.14.2), les montages de liaison ne respectent pas l'option de lecture seule.
# mkdir test
# mount --bind -o ro test/ /mnt
# touch /mnt/foo
crée le fichier /mnt/foo
. L'entrée pertinente dans /proc/mounts
est
/dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0
Les options de montage ne correspondent pas à mes options demandées, mais ne correspondent à la fois la lecture / comportement d'écriture de la liaison monter et les options utilisées pour monter à l' origine /dev/sda2
sur/
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Si, toutefois, je remonte la monture, elle respecte l'option de lecture seule.
# mount --bind -o remount,ro test/ /mnt
# touch /mnt/bar
touch: cannot touch ‘/mnt/bar’: Read-only file system
et l'entrée correspondante dans /proc/mounts/
/dev/sda2 /mnt ext4 ro,relatime,data=ordered 0 0
ressemble à ce à quoi je pourrais m'attendre (bien qu'en vérité je m'attende à voir le chemin complet du test
répertoire). L'entrée dans /proc/mounts/
pour le montage d'origine de /dev/sda2/
sur /
est également inchangée et reste en lecture / écriture.
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Ce comportement et le contournement sont connus depuis au moins 2008 et sont documentés dans la page de manuel demount
Notez que les options de montage du système de fichiers resteront les mêmes que celles du point de montage d'origine et ne peuvent pas être modifiées en passant l'option -o avec --bind / - rbind. Les options de montage peuvent être modifiées par une commande séparée de remontage
Toutes les distributions ne se comportent pas de la même manière. Arch semble ne pas respecter les options en silence tandis que Debian génère un avertissement lorsque le montage de la liaison ne reçoit pas le montage en lecture seule.
mount: warning: /mnt seems to be mounted read-write.
Il a été signalé que ce problème avait été "résolu" dans Debian Lenny and Squeeze, bien qu'il ne semble pas être un correctif universel ni qu'il fonctionne toujours dans Debian Wheezy. Qu'est-ce qui est difficile à faire pour que bind mount respecte l'option en lecture seule du montage initial?
mount -t bind
et un script d'assistance à l' adresse bugs.launchpad.net/ubuntu/+source/mountall/+bug/519380
/etc/mtab
. Après le montage initial, l'entrée indique que le montage est rw et après le remontage, elle indique ro, afin de signaler correctement l'état du montage. C'est juste la commande de montage qui échoue.
mount --bind -o ro
, ils ont tous deux craché un message. mount: warning: «mountpoint» seems to be mounted read-write.
Il semble donc que Debian ait oublié ou perdu le correctif à un moment donné ... Remount fonctionne, cependant.