在 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>