GNU/Linux >> Belajar Linux >  >> Linux

Baca hanya bind-mount?

Jawaban langsung dari artikel LWN:

mount --bind /vital_writable_data /untrusted_container/vital_data
mount -o bind,remount,ro /untrusted_container/vital_data

Didukung sejak Linux 2.6.26.


Menurut artikel ini adalah mungkin. Anda membutuhkan kernel terbaru.

mount --bind -o ro /vital_data /untrusted_container/vital_data

Di Squeeze dulu hanya bekerja dengan:

mount --bind /src /dst

lalu

mount -o remount,ro /dst

Sekarang di Debian Wheezy Anda harus melakukan:

mount -o remount,ro,bind /dst

untuk menghilangkan:pesan resource busy.

Sunting:Sekarang di Debian Jessie, mount mencoba menjadi pintar dan memasang sub direktori, yang jika sudah dipasang dengan bind, akan rekursif dan hal-hal buruk terjadi :)

Ada opsi khusus yang memaksa util-linux menjadi 'bodoh' lagi. Solusinya adalah:

mount --bind --make-rprivate /sbin/ $prefix/sbin/
mount -o remount,ro,bind $prefix/sbin/

Setelah itu Anda dapat memasang --bind $prefix/sbin ke direktori lain.

Dari halaman manual:

Operasi subpohon bersama. Sejak Linux 2.6.15, dimungkinkan untuk menandai mount dan submountnya sebagai shared, private, slave, atau unbindable. Dudukan bersama memberikan kemampuan untuk membuat cermin dari dudukan tersebut sedemikian rupa sehingga pemasangan dan pelepasan dalam salah satu cermin menyebar ke cermin lainnya. Dudukan budak menerima propagasi dari tuannya, tetapi tidak sebaliknya. Tunggangan pribadi tidak membawa kemampuan propagasi. Mount yang tidak dapat diikat adalah mount pribadi yang tidak dapat digandakan melalui operasi pengikatan. Semantik terperinci didokumentasikan dalam file Documentation/filesystems/sharedsubtree.txt di pohon sumber kernel. Operasi yang didukung adalah:

     mount --make-shared mountpoint
     mount --make-slave mountpoint
     mount --make-private mountpoint
     mount --make-unbindable mountpoint

Perintah berikut memungkinkan seseorang untuk secara rekursif mengubah tipe semua mount di bawah mountpoint tertentu.

     mount --make-rshared mountpoint
     mount --make-rslave mountpoint
     mount --make-rprivate mountpoint
     mount --make-runbindable mountpoint

mount(8) tidak membaca fstab(5) ketika operasi --make-* diminta. Semua informasi yang diperlukan harus ditentukan pada baris perintah. Perhatikan bahwa kernel Linux tidak mengizinkan untuk mengubah beberapa flag propagasi dengan syscall mount(2) tunggal, dan flag tidak dapat dicampur dengan opsi mount lainnya.

Sejak util-linux 2.23 perintah mount memungkinkan untuk menggunakan beberapa flag propagasi secara bersamaan dan juga bersama dengan operasi mount lainnya. Fitur ini EKSPERIMENTAL. Bendera propagasi diterapkan oleh syscall mount(2) tambahan ketika operasi mount sebelumnya berhasil. Perhatikan bahwa use case ini bukan atom. Dimungkinkan untuk menentukan flag propagasi di fstab(5) sebagai opsi mount (private, slave, shared, unbindable, rprivate, rslave, rshared, runbindable).


Linux
  1. Bagaimana Cara Memeriksa Apakah Direktori Tertentu Dipasang??

  2. Linux – Hanya Menampilkan Mount Point yang “menarik” / Memfilter Jenis yang Tidak Menarik?

  3. Akses Baca Saja Ke Semua File Dalam Sub-folder Tertentu?

  1. Mengapa File Descriptor Dibuka Dan Hanya Dibaca Sekali?

  2. Masalah Sistem File Hanya Baca?

  3. Partisi Ntfs Dipasang Sebagai Hanya Baca?

  1. Sistem File Hanya Baca Setelah Upgrade Ke 15,04 Dengan?

  2. Hanya Root yang Dapat Dipasang, Mengapa?

  3. Periksa apakah direktori terpasang dengan bash