You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为WiFi配置文件设置仅允许WD组连接/断开的DACL安全描述符

WiFi配置文件权限控制问题

问题背景

  • 手动输入密码配置WiFi时,非管理员用户无法通过netsh命令查看密码;但通过WlanSetProfile添加配置文件时,若未设置安全描述符,所有用户都可查看密码。
  • 调用WlanGetSecuritySettings()获取WiFi配置文件默认DACL时,因参数错误(错误码87)失败。

权限配置困境

使用C++ Win32 API为WiFi配置文件设置安全描述符,尝试了多种拒绝读取控制(RC)、允许写入控制的权限组合,但始终无法同时实现两个需求:

  1. 限制普通用户通过netsh查看WiFi密码
  2. 允许普通用户正常连接/断开WiFi

尝试过的配置及问题

尝试限制WD(所有用户)的读取权限,同时保留连接/断开权限,但遇到以下问题:

  • 使用安全描述符字符串"O:WDG:WDD:(A;;CCWP;;;WD)(D;;RC;;;WD)"调用WlanSetProfile时,普通用户仍能通过netsh查看密码
  • 若直接拒绝RC权限,会导致WiFi连接功能异常

相关代码片段

// hClient 是 wlanOpenHandle() 返回的句柄
WlanSetProfile(hClient, &(pIfInfo->InterfaceGuid), dwFlag, strProfileXmlW, 
    L"O:WDG:WDD:(A;;CCWP;;;WD)(D;;RC;;;WD)", FALSE, NULL, pdwReasonCode);

// 安全描述符说明:
// string1 = "O:WDG:WDD:(A;;CCWP;;;WD)(D;;RC;;;WD)"
// O:Owner(所有者)- 所有用户
// G:Group(组)- 所有用户
// A - 允许访问
// CC - 创建子对象
// WP - 写入属性
// D - 拒绝访问
// RC - 读取控制

// 另一个尝试的安全描述符
string2 = "O:WDG:WDD:(A;;CCWPRC;;;BA)(A;;CCWP;;;WD)(D;;RC;;;WD)"

// 调用失败的API
WlanGetSecuritySettings(hClient, wlan_secure_add_new_all_user_profiles, NULL, NULL, &grantedAccess);

内容的提问来源于stack exchange,提问作者raj

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 05:08:12