我是靠谱客的博主 眯眯眼樱桃,最近开发中收集的这篇文章主要介绍深度linux授权序列号,Deepin Linux系统授权弹窗polkit的配置,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

本文为你介绍Deepin Linux系统授权弹窗polkit及其配置。在开发Linux桌面软件的时候,我们有时候需要用其他用户的身份执行一些操作,通常是root用户。

方法一:sudo命令

echo "passwd" | sudo -S gedit

sudo 的-S选项是从标准输出流读取密码,如果使用这种方法不能调出上面的弹窗。你可以自己写一个弹窗,如果这样,在索要用户权限的时候,程序就可以获得用户的密码了(用户可能会质疑),不推荐。

方法二:polkit

如图所示:

234fff2f075b6f5bc430b6b7fa4b841e.png

polkit的图示常见到吧,这个是怎么调用出来的呢?

常见的Linux发行版都有polkit模块,deepin也开发了一套,dde-polkit-agent是遵守freedesktop规范的。

我们只要配置好规则文件然后在终端执行:

pkexec [可执行文件]

就可以看到这个授权窗口了。

1.配置文件

以deepin的/usr/share/polkit-1/actions/com.deepin.pkexec.dde-file-manager.policy文件为例:

/p>

"-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"

"http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">

Deepin

https://www.deepin.com

folder

Authentication is required to run the Deepin File Manager

no

no

auth_admin_keep

查看文件夹需要输入密码

/usr/bin/dde-file-manager

true

注:

只需要根据你的需要创建一份这样的文件(以policy结尾),然后保存到/usr/share/polkit-1/action这个目录下。可以执行pkaction查看现有的policy。

2.调出弹窗

在终端执行:

pkexec [二进制可执行文件]

当然,根据上述配置文件,应该是:

pkexec /usr/bin/dde-file-manager

注:如果要给脚本提权怎么办呢,我们就需要借助一个shell解释器,它是一个二进制的可执行文件,我们选用/bin/bash,先给bash创建一个policy文件[deepin不用创建,已经有了],然后执行:

pkexec /bin/bash -x [脚本]

将脚本作为bash的参数【在deepin下执行有个副作用,因为深度显卡驱动管理器的脚本提权用到了bash,所以会显示驱动管理器的图标和提示】。

相关主题

最后

以上就是眯眯眼樱桃为你收集整理的深度linux授权序列号,Deepin Linux系统授权弹窗polkit的配置的全部内容,希望文章能够帮你解决深度linux授权序列号,Deepin Linux系统授权弹窗polkit的配置所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(33)

评论列表共有 0 条评论

立即
投稿
返回
顶部