W moim systemie Arch Linux (jądro Linuksa 3.14.2) monitory łączenia nie uwzględniają opcji tylko do odczytu
# mkdir test
# mount --bind -o ro test/ /mnt
# touch /mnt/foo
tworzy plik /mnt/foo
. Odpowiedni wpis w /proc/mounts
to
/dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0
Opcje montowania nie pasują moje żądanych opcji, ale czy pasuje zarówno zachowanie odczytu / zapisu wiążą montażu i zastosowane do opcji pierwotnie zamontować /dev/sda2
na/
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
Jeśli jednak zamontuję ponownie mount, to respektuje opcję tylko do odczytu
# mount --bind -o remount,ro test/ /mnt
# touch /mnt/bar
touch: cannot touch ‘/mnt/bar’: Read-only file system
i odpowiedni wpis w /proc/mounts/
/dev/sda2 /mnt ext4 ro,relatime,data=ordered 0 0
wygląda na to, czego mogłem się spodziewać (chociaż tak naprawdę spodziewałbym się zobaczyć pełną ścieżkę test
katalogu). Wpis /proc/mounts/
dotyczący orignal mount /dev/sda2/
on /
również pozostaje niezmieniony i pozostaje do odczytu / zapisu
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
To zachowanie i obejście są znane od co najmniej 2008 roku i są udokumentowane na stronie podręcznika manmount
Zauważ, że opcje montowania systemu plików pozostaną takie same jak te w oryginalnym punkcie montowania i nie można ich zmienić, przekazując opcję -o wraz z --bind / - rbind. Opcje montowania można zmienić za pomocą osobnego polecenia remount
Nie wszystkie dystrybucje zachowują się tak samo. Wydaje się, że Arch po cichu nie przestrzega opcji, podczas gdy Debian generuje ostrzeżenie, gdy mount mount nie otrzymuje mount tylko do odczytu
mount: warning: /mnt seems to be mounted read-write.
Istnieją doniesienia, że takie zachowanie zostało „naprawione” w Debian Lenny i Squeeze, chociaż nie wydaje się być uniwersalną poprawką ani nie działa w Debian Wheezy. Co trudno powiązać z tworzeniem wiązania bind z opcją tylko do odczytu w pierwszym montażu?
mount -t bind
skryptu pomocniczego na stronie bugs.launchpad.net/ubuntu/+source/mountall/+bug/519380
/etc/mtab
. Po pierwszym zamontowaniu wpis mówi, że jest to rw, a po ponownym zamontowaniu mówi ro, więc poprawnie raportuje stan zamontowania. Nie działa tylko polecenie montowania.
mount --bind -o ro
nich nie działa , oba wyrzucają komunikat mount: warning: «mountpoint» seems to be mounted read-write.
Więc wygląda na to, że Debian upuścił lub zgubił łatkę w pewnym momencie ... Ponownie zamontować działa jednak.