Přímá odpověď z článku LWN:
mount --bind /vital_writable_data /untrusted_container/vital_data
mount -o bind,remount,ro /untrusted_container/vital_data
Podporováno od Linuxu 2.6.26.
Podle tohoto článku je to možné. Potřebujete aktuální jádro.
mount --bind -o ro /vital_data /untrusted_container/vital_data
Ve Squeeze to dříve fungovalo pouze s:
mount --bind /src /dst
pak
mount -o remount,ro /dst
Nyní v Debian Wheezy musíte udělat:
mount -o remount,ro,bind /dst
abyste se zbavili zprávy:zdroj zaneprázdněn.
Edit:Nyní v Debianu Jessie se mount snaží být chytrý a připojuje podadresáře, které, pokud jsou již připojeny pomocí bind, jsou rekurzivní a stávají se špatné věci :)
Existuje speciální možnost, která nutí util-linux být znovu 'hloupý'. Řešení je toto:
mount --bind --make-rprivate /sbin/ $prefix/sbin/
mount -o remount,ro,bind $prefix/sbin/
Poté můžete připojit --bind $prefix/sbin k jinému adresáři.
Z manuálové stránky:
Operace sdíleného podstromu. Od Linuxu 2.6.15 je možné označit připojení a jeho podstromové připojení jako sdílené, soukromé, slave nebo unbindable. Sdílené připojení poskytuje možnost vytvářet zrcadla tohoto připojení tak, že připojení a odpojení v rámci kteréhokoli ze zrcadel se šíří do druhého zrcadla. Slave mount přijímá šíření od svého pána, ale ne naopak. Soukromý držák nenese žádné propagační schopnosti. Unbindable mount je soukromé připojení, které nelze naklonovat pomocí operace vazby. Podrobná sémantika je zdokumentována v souboru Documentation/filesystems/sharedsubtree.txt ve zdrojovém stromu jádra. Podporované operace jsou:
mount --make-shared mountpoint mount --make-slave mountpoint mount --make-private mountpoint mount --make-unbindable mountpoint
Následující příkazy umožňují rekurzivně změnit typ všech připojení pod daným bodem připojení.
mount --make-rshared mountpoint mount --make-rslave mountpoint mount --make-rprivate mountpoint mount --make-runbindable mountpoint
mount(8) nečte fstab(5), když je požadována operace --make-*. Všechny potřebné informace musí být zadány na příkazovém řádku. Všimněte si, že linuxové jádro neumožňuje změnit více příznaků šíření pomocí jediného systémového volání mount(2) a příznaky nelze kombinovat s jinými možnostmi připojení.
Od util-linux 2.23 umožňuje příkaz mount používat několik příznaků šíření společně a také společně s dalšími operacemi připojení. Tato funkce je EXPERIMENTÁLNÍ. Příznaky šíření jsou aplikovány pomocí dalších systémových volání mount(2), když byly předchozí operace připojení úspěšné. Všimněte si, že tento případ použití není atomický. Je možné specifikovat příznaky šíření ve fstab(5) jako možnosti připojení (private, slave, shared, unbindable, rprivate, rslave, rshared, runbindable).