ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

Windows本地用户权限管理:从control userpasswords2到icacls实战指南

2026/10/4 1:46:42 拓冰建站 浏览量
Windows本地用户权限管理:从control userpasswords2到icacls实战指南 简介这份文档资料聚焦 Windows 用户权限设置这一系统安全核心主题面向需要管理本机或服务器账户的运维人员、网管及有一定基础的计算机使用者帮助解决用户组划分不清、权限分配不当、账户访问失控等常见问题。资源包内共 1 个 doc 文件约 147KB内容围绕 Administrators、Power Users、Users、Guests、Everyone 及 SYSTEM 等用户组的权限差异展开并涉及通过控制面板与运行命令管理账户的实际操作思路。文档还结合 WEB 服务器场景讲解默认权限分配、目录与文件权限调整以及“最少的服务最小的权限最大的安全”这一原则对理解权限继承与提权风险有参考价值。目前已有 133 人学习下载适合希望系统梳理 Windows 账户权限体系、对照排查权限配置的读者参考使用。1. 从 control userpasswords2 说起一份 2011 年的权限设置文档为什么现在还能用很多人第一次遇到“你需要来自 Administrators 的权限才能删除此文件”这个弹窗时第一反应是去控制面板翻用户账户翻半天发现能改的东西少得可怜。这份 2011 年的《WINDOWS 用户权限怎么设置》文档切入点就很直接——跳过控制面板那套简化界面用control userpasswords2打开完整的用户账户管理面板。这个命令在 Windows 11 上依然有效WinR 输入回车就能调出那个经典的“用户账户”对话框里面能做的事比设置应用里多得多直接改组成员资格、配置自动登录、管理本地账户密码策略。文档覆盖的内容包括 Administrators、Power Users、Users、Guests、Everyone 以及隐藏的 SYSTEM 组的权限差异NTFS 文件权限的继承与删除还有 IIS 场景下 IUSR 账户与 Everyone 完全控制权叠加导致的安全隐患。适合两类人一是需要管理本地多用户环境的运维二是想搞清楚 Windows 权限模型到底怎么运转的开发者。它不讲域控那套就是单机本地权限的实操手册。2. 用户组权限模型从 Administrators 到 SYSTEM 的权限阶梯2.1 五个常见组的权限边界与选型逻辑Windows NT 系的权限设计核心思路是“组承载权限用户继承组的权限”。文档里列出的几个组本质上是一条从高到低的权限阶梯。Administrators 拥有不受限制的完全访问权可以对整个系统做任何操作包括安装驱动、修改注册表、管理系统服务。Power Users 是仅次于管理员的组能执行大部分操作系统任务但有几个关键限制不能将自己加入 Administrators 组不能接管系统文件的所有权不能调试系统级进程。Users 组是最安全的运行环境成员可以运行经过验证的应用程序但不能修改系统注册表设置、操作系统文件或程序文件可以关闭工作站但不能关闭服务器。Guests 组的访问权和 Users 基本一致但账户限制更多默认情况下 Guest 账户是禁用的。Everyone 组比较特殊它不是手动添加成员的组而是自动包含这台计算机上的所有用户账户包括 Guest 和匿名访问者。这里有一个容易被忽略的点SYSTEM 组。它不出现在用户管理界面里也不允许任何用户手动加入但它的权限实际上高于 Administrators。Windows 的系统级服务和内核态操作都是以 SYSTEM 身份运行的。文档里提到“也许把该组归为用户的行列更为贴切”因为 SYSTEM 本质上就是操作系统自身运行时所使用的账户。理解这个阶梯的意义在于当你给某个目录分配权限时你实际上是在决定哪些组的成员能对这个目录做什么级别的操作。2.2 用 control userpasswords2 管理本地账户与组文档给出的入口是control userpasswords2这个命令调出的是经典的“用户账户”对话框比设置应用里的账户管理面板功能更全。操作路径如下# 第一步WinR 打开运行对话框输入以下命令 control userpasswords2回车后会弹出“用户账户”窗口上半部分是用户列表下半部分是该用户的组成员资格。选中一个用户后点“属性”再切到“组成员”选项卡就能看到三个选项标准用户、管理员、其他。选“其他”后可以手动输入组名比如 Power Users。# 第二步如果需要在命令行下完成同样的操作用 net localgroup # 查看当前所有本地组 net localgroup # 查看 Administrators 组的成员 net localgroup Administrators # 把用户 Mrp2 加入 Power Users 组 net localgroup Power Users Mrp2 /add # 把用户从 Guests 组移除 net localgroup Guests Mrp2 /deletenet localgroup的参数逻辑很直白第一个参数是组名第二个参数是用户名/add表示加入/delete表示移除。组名如果包含空格必须加引号比如Power Users。这个命令在 Windows 11 上依然可用但注意它操作的是本地组如果机器加入了域域组的优先级会覆盖本地组设置。文档里还提到一个实操细节新建用户后默认只属于 Users 组要提升为管理员需要手动添加到 Administrators 组。在control userpasswords2界面里选中用户 → 属性 → 组成员 → 其他 → 输入 Administrators → 确定。如果用命令行就是net localgroup Administrators 用户名 /add。反过来如果只想给一个受限的访问账户保持默认的 Users 组就行不需要额外操作。提示在 Windows 11 上control userpasswords2仍然可用但部分选项如“要使用本计算机用户必须输入用户名和密码”复选框的位置和 2011 年文档描述的一致没有被移除。2.3 NTFS 权限与共享权限的叠加规则文档里有一段关于文件权限的操作在文件上右键 → 属性 → 安全 → 删除除超级管理员以外的所有账户。这个操作的前提是文件所在分区必须是 NTFS 格式。FAT32 和 exFAT 分区不支持文件级权限控制安全选项卡根本不会出现。NTFS 权限的继承机制是另一个关键点。默认情况下子文件夹和文件会继承父目录的权限设置。如果你想在某个目录上单独设置权限需要先断开继承。文档里写的操作是在安全选项卡里点“高级”把“从父继承”前面的勾取消然后选择“复制”或“删除”。选“复制”会把当前继承来的权限条目复制一份变成显式条目之后可以单独修改选“删除”则直接移除所有继承条目从空白开始配置。# 用 icacls 命令行工具查看和修改 NTFS 权限 # 查看某个目录的权限条目 icacls E:\www # 移除继承并复制当前权限为显式条目 icacls E:\www /inheritance:d # 移除某个用户的所有权限 icacls E:\www /remove Guest # 只给 Administrators 完全控制权 icacls E:\www /grant:r Administrators:(OI)(CI)Ficacls的参数含义/inheritance:d表示禁用继承并复制现有权限条目/remove移除指定用户的权限条目/grant:r替换指定用户的权限。(OI)表示对象继承(CI)表示容器继承F表示完全控制。这套命令在批量处理服务器目录权限时比图形界面高效得多。共享权限和 NTFS 权限是两层独立的控制。当用户通过网络访问共享文件夹时最终的有效权限是共享权限和 NTFS 权限的交集。也就是说如果共享权限给了“读取”NTFS 权限给了“完全控制”用户实际拿到的是“读取”。这个叠加规则在排查“为什么用户能访问但改不了文件”这类问题时非常关键。3. 从零配置一台多用户 Windows 主机账户创建到权限隔离3.1 新建用户并分配组权限的完整流程文档里描述的新建用户流程是我的电脑右键 → 管理 → 本地用户和组 → 用户 → 右键空白处 → 新建用户。在 Windows 11 上compmgmt.msc仍然能打开计算机管理但“本地用户和组”这个节点在家庭版里被移除了只有专业版和企业版才有。家庭版用户需要用control userpasswords2或net user命令来替代。# 用 net user 创建新用户 net user testuser Pssw0rd123 /add /comment:测试账户 # 将新用户加入 Administrators 组 net localgroup Administrators testuser /add # 查看用户的组成员资格 net user testusernet user的参数用户名后跟密码/add表示创建/comment是描述信息。密码需要满足系统的密码策略如果提示“密码不满足密码策略要求”要么换一个更复杂的密码要么用net accounts查看和修改密码策略。创建完用户后文档特别提醒了一点除了 Administrator 账户外要再建一个管理员权限的账户。原因是 Windows 默认会隐藏内置的 Administrator 账户如果你把当前唯一的管理员账户降级或禁用就再也找不到管理员入口了。这个坑在实操中非常常见尤其是给客户机器做权限收紧的时候。3.2 用 NTFS 权限实现文件夹级别的访问隔离文档里给出的场景是“不让别人看你的文件”。操作路径是文件右键 → 属性 → 安全 → 删除除超级管理员以外的所有账户。但这里有几个细节文档没有展开。首先删除权限条目时如果提示“从父继承权限”需要先点“高级”取消继承。其次删除所有非管理员账户后如果这台机器上有其他管理员组的成员他们仍然能通过取得所有权的方式访问这个文件夹。NTFS 权限的隔离边界是“组”不是“用户”。如果你想让某个文件夹只对特定用户可见正确做法是先取消继承然后只添加那个用户和 SYSTEM 的权限条目移除其他所有条目。# 创建一个只有特定用户能访问的目录 mkdir D:\PrivateData # 禁用继承并清除所有继承的权限条目 icacls D:\PrivateData /inheritance:r # 只给指定用户和 SYSTEM 完全控制权 icacls D:\PrivateData /grant:r testuser:(OI)(CI)F SYSTEM:(OI)(CI)F # 验证权限设置 icacls D:\PrivateData/inheritance:r和/inheritance:d的区别r是直接移除所有继承条目d是复制后保留。做严格隔离时用r做微调时用d。(OI)(CI)F表示对象继承、容器继承、完全控制。SYSTEM 必须保留否则系统服务可能无法正常访问这个目录导致一些玄学问题。注意对系统盘根目录或Program Files做权限收紧时不要直接移除 Everyone 的读取权限。文档里提到一个血泪教训系统卷如果不给 Everyone 读写权启动时会报错并提示虚拟内存不足。原因是虚拟内存文件pagefile.sys默认在系统盘系统启动时需要以较低权限访问它。3.3 IIS 场景下的 IUSR 与 Everyone 权限陷阱文档里花了很大篇幅讲一个 Web 服务器的权限配置案例。核心问题是IIS 在处理匿名请求时会把访问者映射为 IUSR 账户这个账户隶属于 Guests 组本来权限很低。但如果网站目录的 NTFS 权限里给了 Everyone 完全控制权那么 IUSR 作为 Everyone 的成员就间接获得了完全控制权。攻击者可以通过上传 WebShell 的方式以 IUSR 身份执行命令再通过其他提权手段拿到 Administrators 权限。文档给出的加固方案是各个卷的根目录、Documents and Settings和Program Files只给 Administrator 完全控制权系统卷根目录额外给 Everyone 读写权为了虚拟内存网站目录E:\www给 IUSR 读写权cmd.exe只给 Administrator 完全控制权。# IIS 网站目录的推荐权限配置 # 给 IUSR 读写权限 icacls E:\www /grant:r IUSR:(OI)(CI)M # 移除其他不必要的权限条目 icacls E:\www /remove Everyone Users Guests # 锁定 cmd.exe icacls C:\Windows\System32\cmd.exe /inheritance:r icacls C:\Windows\System32\cmd.exe /grant:r Administrators:F SYSTEM:FM表示修改权限比完全控制少一个“取得所有权”的权限。对于 Web 目录来说修改权限足够 IIS 读写文件但不允许 IUSR 修改目录的权限设置。锁定cmd.exe的目的是防止 WebShell 直接调用命令行执行系统命令虽然这不是万能的攻击者可以上传自己的可执行文件但能挡住大部分自动化扫描工具。文档里那句“最少的服务加最小的权限等于最大的安全”是这个场景的核心原则。不必要的话不要装服务因为服务的运行级别是 SYSTEM。权限分配本着够用就好的原则多给一分都是风险。4. 避坑与排查权限设置中最容易翻车的五个场景4.1 现象改完权限后用户无法登录提示“登录失败”原因通常是误删了 Users 组对系统目录的读取权限或者把用户从所有组里移除了。Windows 登录过程需要 Users 组对C:\Windows\System32有读取和执行权限如果这个权限被移除用户认证阶段就会失败。解决方式是进入安全模式用内置 Administrator 账户登录然后用icacls恢复 Users 组的权限icacls C:\Windows\System32 /grant Users:(OI)(CI)RX。RX 表示读取和执行。如果安全模式也进不去需要用 Windows 安装介质启动到恢复环境用命令行修复。4.2 现象删除文件时提示“你需要来自 Administrators 的权限”这个提示的触发条件比表面看起来复杂。即使当前账户在 Administrators 组里如果文件的所有者是 SYSTEM 或 TrustedInstaller管理员也需要先取得所有权才能删除。Windows 对系统文件的保护机制是独立于用户组的。解决方式是文件右键 → 属性 → 安全 → 高级 → 所有者 → 更改 → 输入 Administrators → 确定然后回到安全选项卡赋予 Administrators 完全控制权再删除。命令行方式takeown /f 文件路径 /a然后icacls 文件路径 /grant Administrators:F。4.3 现象共享文件夹用户能访问但无法保存修改这是共享权限和 NTFS 权限叠加导致的。共享权限默认是“读取”NTFS 权限可能给了“修改”但最终有效权限取交集所以用户只能读不能写。排查步骤先看共享权限net share查看共享名和权限再看 NTFS 权限icacls查看目录权限。两处都需要给“修改”或“完全控制”用户才能写入。常见做法是把共享权限设为“完全控制”然后完全依赖 NTFS 权限来做细粒度控制这样只需要维护一套权限体系。4.4 现象Power Users 组的用户无法安装某些软件Power Users 组在 Windows Vista 之后被大幅削弱了。在 Windows XP 时代Power Users 可以安装大部分软件但从 Vista 开始UAC 机制改变了权限模型Power Users 组的实际权限被降低到接近 Users 组。很多安装程序需要写入Program Files和HKEY_LOCAL_MACHINE这些位置对 Power Users 是只读的。解决方式要么把用户加入 Administrators 组要么用“以管理员身份运行”来安装。如果必须保持 Power Users 权限可以用icacls给特定目录赋予修改权限但这样做会削弱系统的整体安全性需要权衡。4.5 现象icacls 命令执行成功但权限没有生效最常见的原因是权限继承没有正确处理。如果父目录的继承条目仍然存在子目录上单独设置的权限会被继承条目覆盖。另一个原因是用户同时属于多个组某个组的拒绝权限Deny会覆盖其他组的允许权限。排查方式用icacls 目录 /t递归查看所有子目录和文件的权限条目确认没有残留的继承条目。用whoami /groups查看当前用户所属的所有组确认没有某个组被显式拒绝了权限。拒绝权限的优先级高于允许权限这是 Windows 权限模型的基本规则。5. 用 icacls 批量导出与恢复权限一套可复用的备份习惯图形界面改权限有个致命问题改错了没有后悔药。尤其是给服务器做权限收紧的时候一旦某个关键目录的权限被误删系统可能直接蓝屏或者服务起不来。我一般会在做任何批量权限修改之前先用icacls把当前权限状态导出成文本文件出问题了直接恢复。# 导出目录树的权限到文件 icacls E:\www /t /save E:\backup\www_permissions.txt # 恢复权限 icacls E:\ /restore E:\backup\www_permissions.txt # 导出整个系统盘的权限耗时较长但值得 icacls C:\ /t /save E:\backup\c_permissions.txt/save会把权限条目保存为一种特定格式的文本/restore读取这个文件并应用。注意/restore的路径参数是保存时的父路径比如保存时用的是E:\www恢复时就要用E:\作为根路径。这个操作不需要重启但恢复大量文件权限时会有明显的磁盘 IO建议在业务低峰期做。另一个实用技巧是用icacls的/substitute参数做权限迁移。比如你要把一台机器上的目录权限结构复制到另一台机器但两台机器的用户名不同可以用/substitute做映射# 把 olduser 的权限条目替换为 newuser icacls E:\www /substitute olduser newuser /t这个命令会递归遍历E:\www下的所有文件和目录把所有olduser的权限条目替换成newuser。做服务器迁移的时候这个命令能省掉大量手工操作。验证权限是否生效的方法用目标用户登录尝试执行预期内的操作读取、写入、删除确认行为符合预期。更严格的方式是用icacls的/verify参数检查权限条目的完整性但这个参数在实际使用中报错信息不够直观我一般还是靠实际操做来验证。从那以后我每次做权限变更前都强制走一遍导出流程哪怕只是改一个目录的权限。这个习惯帮我省过至少两次重装系统的麻烦。希望帮到你。本文还有配套的精品资源点击获取