一部のコンポーネントのテストでは、 Ubuntu 14.04の C++ testappで、 /sbin/rebootの名前を一時的に変更して、テスト中のシステム (testapp 内で開始された別の大きな C++ アプリ) が呼び出され
ないようsystem("/sbin/reboot")
にし、テスト後に復元/sbin/rebootしたいその完全な栄光。
したがって、私が呼び出すcmdシェルで
sudo setcap cap_chown,cap_dac_override,cap_setfcap=+ep testapp
私のtestappがsystem("chown user /sbin/reboot")さらに呼び出すことができるようにするためsystem("chgrp developer /sbin/reboot")にsystem("mv /sbin/reboot /sbin/reboot.tmp")
しかし、testapp は chown で停止します: '/sbin/reboot' の所有権を変更しています: 操作は許可されていません
では、sudo を実行していないアプリ内からこの特定のファイルの名前を変更できるようにするには、どうすればよいでしょうか?