Linux授权弹窗:polkit
Tofloor
poster avatar
Daryl Xu
deepin
2018-09-06 06:57
Author
在开发Linux桌面软件的时候,我们有时候需要用其他用户的身份执行一些操作,通常是root用户。
  • 方法一:sudo命令
    echo "passwd" | sudo -S gedit
    sudo 的-S选项是从标准输出流读取密码,如果使用这种方法不能调出上面的弹窗。你可以自己写一个弹窗,如果这样,在索要用户权限的时候,程序就可以获得用户的密码了(用户可能会质疑),不推荐。
  • 方法二:polkit


如图所示
查看更多https://www.jianshu.com/p/aeb7f2f736a2
Reply Favorite View the author
All Replies
rekols
deepin
2018-09-06 07:15
#1
大佬写得真好
Reply View the author
wtz
deepin
2018-09-06 08:06
#2

大佬真会说话……
Reply View the author
yutent
deepin
2018-09-06 08:31
#3
It has been deleted!
Daryl Xu
deepin
2018-09-06 16:46
#4
https://bbs.deepin.org/post/168507
看到2位大佬互怼, 我都不敢说话了

Reply View the author
justforlxz
deepin developers team
2018-09-06 16:56
#5
polkit这个其实也有问题的,它可以不需要输入密码就通过root来执行,如果你安装了来历不明的deb包,就有可能被放置不安全的policy规则,然后对方就可以直接获得授权…
Reply View the author
Daryl Xu
deepin
2018-09-06 17:00
#6
https://bbs.deepin.org/post/168507
polkit这个其实也有问题的,它可以不需要输入密码就通过root来执行,如果你安装了来历不明的deb包,就有可 ...

恶意应用,这个怕是没有好的办法
Reply View the author
justforlxz
deepin developers team
2018-09-06 17:12
#7
https://bbs.deepin.org/post/168507
恶意应用,这个怕是没有好的办法

给360发邮件,把这个告诉他们,让他们以后加功能
Reply View the author
zwq133
deepin
2018-09-06 18:20
#8
话说
echo "passwd" | sudo -S gedit   这个如何可以更改为从密码文件直接获取,明文总感觉不爽啊
Reply View the author
Daryl Xu
deepin
2018-09-06 21:22
#9
https://bbs.deepin.org/post/168507
话说
echo "passwd" | sudo -S gedit   这个如何可以更改为从密码文件直接获取,明文总感觉不爽啊 ...

这个sudo -S需要接收明文的,所以不推荐啊
Reply View the author
zwq133
deepin
2018-09-06 21:49
#10
https://bbs.deepin.org/post/168507
这个sudo -S需要接收明文的,所以不推荐啊

所以啊!不用明文的话,还有莫得其它方法啥哇!除了polkit
Reply View the author
wtz
deepin
2018-09-06 23:03
#11
https://bbs.deepin.org/post/168507
polkit这个其实也有问题的,它可以不需要输入密码就通过root来执行,如果你安装了来历不明的deb包,就有可 ...

Windows在安装程序时的授权对话框(XXX正在修改计算机上的内容)也是虚的吧。
Linux的root权限太大了,其他用户权限又太小,导致不好分级授权。可能需要完善用户组机制?
Reply View the author
justforlxz
deepin developers team
2018-09-07 00:22
#12
https://bbs.deepin.org/post/168507
Windows在安装程序时的授权对话框(XXX正在修改计算机上的内容)也是虚的吧。
Linux的root权限太大了,其 ...

虽然看起来windows的UAC和linux的polkit是一样的,但是UAC不能用配置文件给某个程序开后门呀。最起码某个程序偷偷在后台执行,UAC会要求你必须授权或者拒绝,polkit可以通过配置文件直接绕过去,你根本不知道什么程序在后台做了什么,而且日志上你也看不出来,除非你明确知道某个日志是你未授权的。
Reply View the author
justforlxz
deepin developers team
2018-09-07 00:24
#13
https://bbs.deepin.org/post/168507
Windows在安装程序时的授权对话框(XXX正在修改计算机上的内容)也是虚的吧。
Linux的root权限太大了,其 ...

当然,大部分用户都是无脑点同意
Reply View the author
Daryl Xu
deepin
2018-09-07 01:24
#14
https://bbs.deepin.org/post/168507
当然,大部分用户都是无脑点同意

除了同意,基本没法子呀
Reply View the author