如何在程序中调用su命令获取root权限?

来源:百度知道 编辑:UC知道 时间:2024/06/05 19:32:49
假设已知密码
1、或者这样 怎样实现这样的功能,比如我打开我的程序,系统就会弹出一个对话框让你输入管理员密码,获得ROOT权限,就像很多系统自带的程序一样
2、再具体点就是一个程序需要用root权限才能运行,我的程序该怎样调用他

手头没有unix,linux 不好试验。
我想你可以用 system(str_cmd); 命令,
把要键盘输入的内容(id passwd) 按行 写在文本文件abc.txt里,用 转向:

char str_cmd[] = "su < abc.txt";
system(str_cmd);

为了系统安全,文本文件abc.txt 由本程序自己建立,写出,命令执行完,由本程序关闭,删除(删除命令用强迫并且无提示方式)。

在需要su权的地方用sudo 例如需要mkfs,就是
system("sudo mkfs ...");