我正在处理安装程序,该程序可能会要求用户执行管理操作(例如,写入全局程序文件目录和更改注册表项)。
Windows allows using runas
和OS X有AuthorizationExecuteWithPrivileges
。 Linux似乎没有像这样的功能。
我考虑过调用sudo
来实现此功能,但这有很多缺点:
sudo
版本之间的密码提示有所不同(有时p
中的password:
大写)。sudo
输出受系统语言的影响。我可以克服最后两项,但前两项是一种表现。我想知道 - 有没有其他常见的方法来实现这个Linux?
答案 0 :(得分:0)
当How to programmatically gain root privileges?回答状态时,这通常在Linux中通过使用粘滞位并调用setuid / setgid来完成。通常,一种可能性是最初在root下运行该进程,然后根据需要通过setuid / setgid更改权限。