如何从我的自定义应用程序调用根权限?

如何从我的自定义应用程序调用根权限?

在 GUI 环境中,我希望能够询问用户 root/sudo 密码,然后在我的应用程序中执行需要 root 权限的应用程序。

举个例子,假设我想运行一个编辑器来编辑/etc/fstab,我需要通过或具有root权限的东西启动编辑器exec()......我该怎么做?

笔记:gksu、gksudo 不是一个选项 - 可能不可用/安装

答案1

方法一:

要以 root 身份运行“df -h”命令:

su -c "df -h"

这将提示用户输入 root 密码。

方法二:

或者,在 /etc/sudoers 中找到这一行:

根全部=(全部)全部

并将其复制给您想要授予管理员权限的用户 johnsmith:

约翰史密斯 ALL=(全部) 全部

这样,johnsmith 将能够运行任何需要 root 权限的命令,只需在命令前面输入“sudo”即可:

sudo df -h

方法三:

您可以使用 ssh 在同一台机器上执行命令:

ssh root@localhost "def -h"

将在您的服务器中执行相同的命令。如果您不想提示输入密码,请按照以下无密码 ssh 教程进行操作:

http://linuxproblem.org/art_9.html

方法四:

使用 gksudo(图形化 sudo):

gksudo "gnome-open %u"

或者,在 KDE 上kdesu

kdesu <command>

相关内容