rw パーティションから mount --bind を実行した後もファイルは読み取り専用のままです

rw パーティションから mount --bind を実行した後もファイルは読み取り専用のままです

mount --bind私は、あるファイルシステムのファイルを、ファイルシステムext4,rw内の別のファイルに「オーバーレイ」するために使用しますext4,ro。たとえば、/etc/hostsは読み取り専用/パーティションにありますが、/rw/etc/hosts書き込み可能な別のパーティションがあります。

# mount --bind /rw/etc/hosts /etc/hosts

/etc/hostsへの書き込みはすべて/rw/etc/hosts


これは では問題なく動作しましたCentOS 6.3

# mount -o ro /dev/sdc1 /ro
# mount -o rw /dev/sdc2 /rw
# mount --bind rw/test ro/test
# echo 1 > rw/test
# cat ro/test
1
# echo 2 > ro/test                    # [1]
# cat rw/test
2

CentOS 6.4しかし、上記の手順を繰り返しても動作しませんが、書き込もうとするとエラーが発生しますro/test

# echo 2 > ro/test                    # [1]
-bash: ro/test: Read-only file system

SELinux無効になっています。これが機能しなくなる原因は何でしょうか?

CentOS 6.3カーネル: 2.6.32-279.22.1.el6.x86_64
CentOS 6.4カーネル:2.6.32-358.el6.x86_64および2.6.32-358.2.1.el6.x86_64

答え1

これが機能しなくなる原因は何でしょうか?

おそらくfsfreezeのサポートとともにカーネルに導入されたバグでしょう。番号 951311これを追跡します。

答え2

# mount --bind rw/test ro/test
# echo 1 > rw/test

ディレクトリのみをマウントできます。

echo を使用してディレクトリに書き込むことはできません。

おそらくあなたは

# mount --bind rw ro

関連情報