บนระบบ Arch Linux ของฉัน (Linux Kernel 3.14.2) การเชื่อมต่อผูกไม่เคารพตัวเลือกอ่านอย่างเดียว
# mkdir test
# mount --bind -o ro test/ /mnt
# touch /mnt/foo
/mnt/foo
สร้างไฟล์ รายการที่เกี่ยวข้องใน/proc/mounts
คือ
/dev/sda2 /mnt ext4 rw,noatime,data=ordered 0 0
ตัวเลือกการติดตั้งไม่ตรงกับตัวเลือกที่ร้องขอของฉัน แต่ทำตรงทั้งพฤติกรรมการอ่าน / เขียนของผูกติดและตัวเลือกที่ใช้ในการติดเดิม/dev/sda2
บน/
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
อย่างไรก็ตามถ้าฉันเมานต์ใหม่ก็จะเคารพตัวเลือกการอ่านอย่างเดียว
# mount --bind -o remount,ro test/ /mnt
# touch /mnt/bar
touch: cannot touch ‘/mnt/bar’: Read-only file system
และรายการที่เกี่ยวข้องใน /proc/mounts/
/dev/sda2 /mnt ext4 ro,relatime,data=ordered 0 0
ดูเหมือนว่าสิ่งที่ฉันคาดหวัง (แม้ว่าในความจริงแล้วฉันคาดว่าจะเห็นเส้นทางแบบเต็มของtest
ไดเรกทอรี) รายการใน/proc/mounts/
สำหรับการเมานต์ orignal ของ/dev/sda2/
on /
ยังไม่เปลี่ยนแปลงและยังคงอ่าน / เขียน
/dev/sda2 / ext4 rw,noatime,data=ordered 0 0
พฤติกรรมนี้และการทำงานรอบด้านได้รับการรู้จักกันตั้งแต่อย่างน้อยปี 2008และได้รับการบันทึกไว้ใน man page ของmount
โปรดทราบว่าตัวเลือกการเมานต์ระบบไฟล์จะยังคงเหมือนเดิมในจุดเมานท์ดั้งเดิมและไม่สามารถเปลี่ยนแปลงได้โดยผ่านตัวเลือก -o พร้อมกับ --bind / - rbind ตัวเลือกการเมาท์สามารถเปลี่ยนแปลงได้โดยคำสั่ง remount แยกต่างหาก
การแจกแจงทั้งหมดไม่ทำงานเหมือนกัน Arch ดูเหมือนจะล้มเหลวในการเคารพตัวเลือกต่าง ๆ ในขณะที่ Debian สร้างคำเตือนเมื่อ bind mount ไม่ได้รับ mount แบบอ่านอย่างเดียว
mount: warning: /mnt seems to be mounted read-write.
มีรายงานว่าพฤติกรรมนี้ "คงที่" ใน Debian Lenny และ Squeezeแม้ว่ามันจะดูเหมือนจะไม่ได้รับการแก้ไขที่เป็นสากลหรือมันยังคงทำงานใน Debian Wheezy อะไรคือความยากลำบากในการเชื่อมโยงเข้ากับการผูกตัวเลือกอ่านอย่างเดียวบนเมานต์เริ่มต้น?
mount -t bind
และสคริปต์ผู้ช่วยเหลือที่bugs.launchpad.net/ubuntu/+source/mountall/+bug/519380
/etc/mtab
ใช่ฉันมี หลังจากการเมานต์เริ่มต้นรายการจะบอกว่าการเมานต์เป็น rw และหลังจากการเมานต์ใหม่จะบอกว่า ro ดังนั้นมันจึงรายงานสถานะของการเมานต์อย่างถูกต้อง มันเป็นเพียงคำสั่ง mount ที่ล้มเหลว
mount --bind -o ro
พวกเขาทั้งสองคายข้อความmount: warning: «mountpoint» seems to be mounted read-write.
ดังนั้นดูเหมือนว่า Debian จะหลุดหรือแพทช์หายไปในบางจุด ... Remount ทำงานได้แม้ว่า