Mandatory DAC?

上で、POSIX capabilityを使うと、
「なんというか、DACをMandatoryにすることができる。」
と書いた。
一見矛盾してるようだが。。。以下のようなこと。

uid=rootのプロセスが、
所有者ynakam, パーミッション600のファイルにアクセスするとすると、
通常のDACならば、アクセスできる。
が,「CAP_DAC_OVERRIDE」capabilityチェックを有効にすると,
rootにも、パーミッションチェックがちゃんと働くようになり、
rootなのに、ynakamのファイルにアクセスできない、という状況が生じる。

よく「rootユーザーがパーミッションチェックを回避できるからDACは駄目」
と言われるが、単純にこのcapabilityを組み合わせるだけでも、
この欠点を克服できる。

実は便利なPOSIX capabilityでした。
なお、SELinuxを使うと、ドメイン毎にPOSIX capabilityチェックが働くようにできる。