对于某些组件测试,在我在 Ubuntu 14.04 上的 C++ testapp中,我想暂时重命名/sbin/reboot以防止我的被测系统(在 testapp 中启动的另一个大型 C++ 应用程序)调用
system("/sbin/reboot")
并在测试后我想恢复/sbin/reboot
到它的全部荣耀。
所以在我调用的 cmd shell 上
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 的应用程序中重命名此特定文件,必须做些什么?