加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – Gnome shell特权升级

发布时间:2020-12-13 19:31:23 所属栏目:Linux 来源:网络整理
导读:我正在构建一个Gnome shell扩展,我希望能够通过升级特权来做一些事情.所以,我想我需要使用“策略工具”,但是我不知道该怎么做. 所以说,我想做一些像ifconfig eth0 down或ifconfig eth0的东西 我可以从终端运行:pkexec ifconfig eth0 down,它会提示输入密码,
我正在构建一个Gnome shell扩展,我希望能够通过升级特权来做一些事情.所以,我想我需要使用“策略工具”,但是我不知道该怎么做.

所以说,我想做一些像ifconfig eth0 down或ifconfig eth0的东西

我可以从终端运行:pkexec ifconfig eth0 down,它会提示输入密码,然后执行.

但是,我应该如何从一个扩展名中做到这一点?

我很确定它与/usr/share / polkit-1 / actions中的文件有关,但是在互联网上找不到任何东西.

我想要能够设置它,以便不需要输入密码,并且扩展可以在任何时候运行特定的命令.

我知道允许任何命令运行是一个非常糟糕的主意.这不是我要求的,我想要能够运行一个程序/命令.

编辑:我不确定,但我认为这不可能不需要输入密码.我只是知道sudo第一次不要求密码一段时间,所以我想要类似的功能.不知道有可能.

解决方法

这是很长时间,因为我没有使用PolicyKit,但从我记得,你确实要在actions /目录中创建一个文件,内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE policyconfig PUBLIC
 "-//freedesktop//DTD PolicyKit Policy Configuration 1.0//EN"
 "http://www.freedesktop.org/standards/PolicyKit/1/policyconfig.dtd">
<policyconfig>

  <action id="org.freedesktop.policykit.pkexec.run-ifconfig">
    <description>Configure network</description>
    <message>Authentication is required to set ifconfig parameters</message>
    <defaults>
      <allow_any>no</allow_any>
      <allow_inactive>no</allow_inactive>
      <allow_active>...</allow_active>
    </defaults>
    <annotate key="org.freedesktop.policykit.exec.path">/sbin/ifconfig</annotate>
  </action>

</policyconfig>

您必须更改以下值:

<allow_active>...</allow_active>

达到你想要的价值.选择一个值:

>“否”将拒绝访问
>“是”将隐式允许访问
>“auth_user”需要用户认证
>“auth_admin”需要管理员身份验证.
>“auth_user_keep”和“auth_admin_keep”功能类似,但保留几分钟后的身份验证.
>加上其他一些值,查看here.

将allow_active键的值更改为“yes”可以停止认证要求.

然后,您需要根据需要调整动作文件并调用它.

雨果,

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读