我想知道用户是否是 root,而不关心该用户是否使用类似 fakeroot 的工具。
我尝试了这些功能getuid(),geteuid()并且getlogin(),但是当我启动fakeroot命令时,每个功能都发送我自己的帐户信息,而不是root.
对于这段代码:
printf("%d %d %s\n", getuid(), geteuid(), getlogin());
Run Code Online (Sandbox Code Playgroud)
这是我得到的:
% fakeroot ./busybox rm
1000 1000 julien
Run Code Online (Sandbox Code Playgroud)
当我想要得到类似的东西时:
0 0 root
Run Code Online (Sandbox Code Playgroud)
(登录就足够了)