Ubuntu 24.04实验室用户仅允许连接指定Wi-Fi网络的配置方案咨询
Ubuntu 24.04实验室用户仅允许连接指定Wi-Fi网络的配置方案咨询
嘿,这个需求在实验室环境里太实用了,毕竟要防止用户随便连外部热点带来安全风险或者带宽浪费。我来给你分享几个从简单到严格的配置方案,你可以根据自己的管控需求选:
方法一:快速锁定目标Wi-Fi并禁用其他网络自动连接
这个方法适合快速配置,操作起来很直观:
- 先让测试机连接上你们实验室的目标Wi-Fi,确保网络正常。
- 打开终端,用
nmcli connection show命令查看所有已保存的网络连接,找到实验室Wi-Fi对应的连接名称(比如叫Lab-Wi-Fi)。 - 设置该Wi-Fi为自动连接且优先级最高,确保开机就自动连上:
nmcli connection modify "Lab-Wi-Fi" connection.autoconnect yes connection.autoconnect-priority 100 - 接着,禁用其他所有Wi-Fi连接的自动连接功能(替换掉
Other-Wi-Fi为实际的其他连接名称):nmcli connection modify "Other-Wi-Fi" connection.autoconnect no - 要是想更彻底,直接删除非目标Wi-Fi的连接配置:
nmcli connection delete "Other-Wi-Fi" - 最后重启NetworkManager让配置生效:
sudo systemctl restart NetworkManager
方法二:通过配置文件强制仅允许指定SSID
这个方法能让NetworkManager只识别你指定的Wi-Fi,其他网络哪怕搜到也不会尝试连接:
- 找到目标Wi-Fi的配置文件,通常存放在
/etc/NetworkManager/system-connections/目录下,文件名就是你之前看到的连接名称(注意需要用sudo编辑,文件权限默认是600)。 - 打开文件后,在
[wifi]章节添加一行:
如果有多个SSID(比如2.4G和5G频段),可以用逗号分隔:allowed-ssids=你的实验室Wi-Fi SSIDallowed-ssids=Lab-Wi-Fi-2.4G,Lab-Wi-Fi-5G - 同时在
[connection]章节确认autoconnect=yes,并设置autoconnect-priority=100保证优先连接。 - 保存文件后,重启NetworkManager生效:
sudo systemctl restart NetworkManager
方法三:限制用户修改网络配置(严格管控)
如果担心用户手动添加其他Wi-Fi,可以用PolicyKit限制普通用户的网络修改权限:
- 创建一个PolicyKit规则文件,比如
/etc/polkit-1/rules.d/90-restrict-network.rules,用sudo nano编辑并写入以下内容:polkit.addRule(function(action, subject) { if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 && subject.isInGroup("users")) { // 允许用户查看网络状态,但禁止修改任何配置 if (action.id == "org.freedesktop.NetworkManager.status" || action.id == "org.freedesktop.NetworkManager.network-control") { return polkit.Result.YES; } else { return polkit.Result.NO; } } }); - 保存后重启PolicyKit服务:
这样普通用户只能查看网络状态,无法添加、修改或删除网络连接,只能用预先配置好的实验室Wi-Fi。sudo systemctl restart polkit
额外小贴士
- 批量部署时,可以把配置文件复制到所有实验室PC,或者写个简单的Shell脚本批量执行命令,效率更高。
- 建议先在一台测试机上验证配置效果,确认没问题后再推广到所有机器。
备注:内容来源于stack exchange,提问作者Arch Stanton




