• 5750阅读
  • 6回复

如何实现像“新立得软件管理包”那样的改成root权限的功能? [复制链接]

上一主题 下一主题
离线hellowork
 
只看楼主 倒序阅读 楼主  发表于: 2009-11-14
    因为有时要访问设备文件,需要root权限。现在每次运行是都要加sudo。能不能像新立得软件管理包那样,在一对话框里输入密码后直接拥有root权限。哪位高手给下思路?
    ps:好像要访问/etc/passwd文件,一直不明白它跟root权限有什么关系,还有输入的密码如何跟它匹配正确与否?
离线dbzhang800

只看该作者 1楼 发表于: 2009-11-14
汗,这和新立得没关系。
你贴的这个图就是 sudo 提示输入密码的界面。换句话说,你就是用靠用 sudo 提升权限到root来启动的新立得,而不是普通权限启动新立得


具体到命令上,新立得 对应的命令 synaptic
你可以直接在终端启动看看什么效果,然后再用 gksudo synaptic 启动一次对比一下。
离线dbzhang800

只看该作者 2楼 发表于: 2009-11-14
对了,这个和Qt什么关系呢? 怎么发到这了
离线hellowork
只看该作者 3楼 发表于: 2009-11-14
引用第2楼dbzhang800于2009-11-14 21:42发表的 :
对了,这个和Qt什么关系呢? 怎么发到这了


多谢,界面是qt做的,想知道qt有没有这样的函数接口
离线hellowork
只看该作者 4楼 发表于: 2009-11-14
引用第1楼dbzhang800于2009-11-14 21:40发表的 :
汗,这和新立得没关系。
你贴的这个图就是 sudo 提示输入密码的界面。换句话说,你就是用靠用 sudo 提升权限到root来启动的新立得,而不是普通权限启动新立得
具体到命令上,新立得 对应的命令 synaptic
.......


你的意思是:其实synaptic也是gksudo通过execl来启动的?
离线dbzhang800

只看该作者 5楼 发表于: 2009-11-14
引用第4楼hellowork于2009-11-14 21:49发表的  :
你的意思是:其实synaptic也是gksudo通过execl来启动的?


sudo/gksu/gksudo 底层究竟是怎么工作的,我倒还真不知道。

菜单中 新立得 对应的具体命令如下
  1. gksu --description /usr/share/applications/synaptic.desktop /usr/sbin/synaptic


有兴趣你话你可以继续研究

题外,需要的话,细节东西去 ubuntu/debian 论坛讨论好一点
离线hellowork
只看该作者 6楼 发表于: 2009-11-14
引用第5楼dbzhang800于2009-11-14 22:21发表的  :
sudo/gksu/gksudo 底层究竟是怎么工作的,我倒还真不知道。
菜单中 新立得 对应的具体命令如下
.......


gksu有一种情况也是通过gksu_sudo_full函数调用/usr/bin/sudo实现的,关于sudo的源码还真没看懂......
再次多谢!
快速回复
限100 字节
 
上一个 下一个