如何设置用户修改网络状态和连接的策略?

如何设置用户修改网络状态和连接的策略?

如何设置用户更改网络连接和状态的权限?例如,如何允许/禁止用户连接到新的无线网络?如何允许/禁止用户关闭网络?

答案1

您可以为一个或多个用户创建本地策略。

创建存储设置文件的文档...

触摸/var/lib/polkit-1/localauthority/50-local.d/10-network-manager.pkla

添加一个或多个策略...

[让 foo 修改网络的系统设置]
身份=unix-用户:foo
操作=org.freedesktop.NetworkManager.settings.modify.system
ResultAny=否
结果无效=否
结果活动=是

[不允许 foo 启用/禁用网络]
身份=unix-用户:foo
操作=org.freedesktop.NetworkManager.settings.启用-禁用-网络
ResultAny=否
结果无效=否
结果活动=否

关键是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-用户:foo
操作=org.freedesktop.NetworkManager.*
ResultAny=否
结果无效=否
结果活动=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'

参考:

答案2

您可以将用户添加到“netdev”组。

但我不确定这是否会赋予他们超乎预期的权利。

看:https://wiki.ubuntu.com/Security/Privileges#Connect_to_wireless_and_ethernet_networks

答案3

Linux 操作系统是安全的,它很可能在输入 WiFi 登录密钥之前要求进行身份验证,我也遇到过这个问题,您需要做的就是在出现消息时输入用户密码,然后系统会提示您输入网络密钥。

无需进入 etc/ 或 /use 或修改任何文件,实际的文件系统不会产生另一个问题。

这是一个安全步骤,如果有人在注销后控制了您的计算机,他们就需要您的密码才能访问浏览器。

如果您没有进入网络的密码,那么您不应该使用该计算机。

相关内容