如何禁止更改可修改文件的所有者?

如何禁止更改可修改文件的所有者?

我有时需要从 root 运行 Qt Creator。之后,Qt Creator 的一些配置文件突然拥有 root 作为所有者。因此,当以用户身份运行 Qt Creator 时,我收到有关无法写入这些文件的警告。是否可以禁止更改这些文件的所有者?

答案1

gdbserver通过使用root 运行解决了问题。

sudo gdbserver :1234 <path_to_program>

之后,我从 QtCreator 的菜单连接到 127.0.0.1:1234 并开始调试。 QtCreator 由普通用户运行。谢谢大家的解答!

答案2

如上所述,您不应该以 root 身份运行 Qt Creator,但为了回答您的问题,您可以通过设置文件的不可变属性(chattr +i 文件名)来防止文件更改所有者。它将阻止对文件的任何修改!

答案3

root可能不会显式更改这些文件的所有权。最有可能的是,它会删除或重命名它们,然后用相同的名称重新创建它们。

在这种情况下,强制root用原始版本重新创建它们uid并不简单。你需要记住原件uid是什么。

也许您能做的最好的事情就是跟踪root创建的文件并随后更改所有权。

当然,正如已经指出的那样,运行 Qt Creator 这样的东西root无论如何都是一个坏主意。

相关内容