Har*_*rel 13 network-manager policykit
如何设置用户更改网络连接和状态的权限?例如,我如何允许/禁止用户连接到新的无线网络?如何允许/禁止用户关闭网络?
Har*_*rel 10
您可以为一个或多个用户创建本地策略。
创建设置将存在的文档...
触摸 /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla
添加一项或多项政策...
[让 foo 修改网络的系统设置] 身份=unix-user:foo 操作=org.freedesktop.NetworkManager.settings.modify.system 结果任意=否 结果无效=否 结果活动=是 [不允许 foo 启用/禁用网络] 身份=unix-user:foo 操作=org.freedesktop.NetworkManager.settings.enable-disable-network 结果任意=否 结果无效=否 结果活动=否
关键是ResultActive可以设置为 yes、no、auth_admin 或 auth_admin_keep 的元素,其中后两者将需要另一个具有 sudo 权限的用户的密码。
该Action元素定义了允许/禁止的操作或需要使用密码进行身份验证的操作。有一些选项org.freedesktop.NetworkManager.enable-disable-network可以将网络切换为启用/禁用。您可以在/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy文件中看到更多选项,只需查找类似内容<action id="org.freedesktop.NetworkManager.enable-disable-network">并阅读其说明即可。
您还可以使用*通配符设置所有值...
[防止 foo 修改除管理员密码以外的所有网络状态和设置] 身份=unix-user:foo 操作=org.freedesktop.NetworkManager.* 结果任意=否 结果无效=否 结果Active=auth_admin_keep
这将需要密码才能对网络设置或状态进行任何更改。
您可以在可以包含在脚本中的单个命令中执行此操作...
sudo su -c 'printf "[防止 foo 修改所有网络状态和设置]\nIdentity=unix-user:foo\nAction=org.freedesktop.NetworkManager.*\nResultAny=no\nResultInactive=no\nResultActive=auth_admin" > /var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla'
参考:
| 归档时间: |
|
| 查看次数: |
10557 次 |
| 最近记录: |