很多人搭建Windows服务器后,就图个快,所有人都用Administrator登录、远程桌面共享、数据库随便开权限。运行是方便了,等被入侵了才知道“权限管理”不是唬人的安全术语,而是真能决定你这台服务器能不能“安然度过青春期”。今天我们聊点干货:在 Windows Server 上,怎么科学地做用户权限管理?
一句话——最小权限原则,每个用户只能访问他必须访问的内容,能做他需要做的操作。这不是为了难为人,而是为了防止“你删错了一个目录,我整个系统重装”的灾难。
1. 创建合理的用户账户结构
很多企业服务器只有一个账户:Administrator。这是灾难的起点。
建议这样分组:
管理员:系统维护专用,平时禁用,必要时才启用。
开发/部署:可以操作服务、查看日志、发布项目,但无权限更改系统核心设置。
普通用户:只能远程查看某些内容,不具备写权限。
来宾/测试用户:设限最多,用完即删。
操作方法:
进入计算机管理 → 本地用户和组 → 用户 → 新建用户,可以为每个用户设置登录权限、密码过期策略、启用/禁用状态。
2. 设置用户权限组(别什么都让人加管理员)
Windows 有一个强大的权限控制系统,靠的不是单个用户,而是“组”。
常见组类型:
Administrators:系统完全控制
Remote Desktop Users:可远程登录,但权限受限
Power Users:可安装程序、改注册表(比普通用户大一点)
Users:基础访问权限,不能安装
Guests:最低权限
设置方法:
打开运行 → 输入 lusrmgr.msc → 选择用户 → 添加到组。比如你只想让某人能远程桌面,而不能乱动东西,就把他加入 Remote Desktop Users,别加 Administrators。
3. 使用本地安全策略限制行为
secpol.msc 是个宝藏工具。
常用策略包括:
- 账户锁定策略(防暴力破解)
- 登录时不显示上次登录用户
- 拒绝某些用户远程登录
- 只允许某个组远程桌面登录
示例:只允许 DevOps 用户组登录远程桌面:
本地安全策略 → 本地策略 → 用户权限分配 → 允许通过远程桌面服务登录
把 Users 删除,只保留 DevOps,非常有效。
4. 文件夹与服务级权限设置
别让“谁都能进 C 盘”。右键文件夹 → 属性 → 安全 → 编辑权限
你可以设置:
- 允许 / 拒绝 读取、写入、执行
- 指定用户或组
- 特殊权限,比如:只能写不能删
实战建议:
应用运行目录单独建文件夹,指定运行账户。日志文件夹不要给普通用户写权限。防止 web 目录被上传可执行文件,可禁执行权限(IIS配置中设定)
5. 管理服务账户(别让服务跑在管理员权限下)
很多人图方便,让 IIS 或 MySQL 等服务默认跑在 SYSTEM 或 Administrator 权限下,一旦服务被利用就是系统级控制。
建议做法:
为每个服务建立专属用户,限制该用户只能访问其服务目录。服务属性 → 登录 → 指定该用户运行
sc config "服务名" obj= ".\service_user" password= "xxxx"
权限不是控制,是保护。给别人更小的权限,是为了让你不再背锅。
Windows服务器权限控制并不复杂,关键是要有意识、有流程、有定期审查机制。别等问题发生后才想“这个人怎么能删数据库”。权限体系搭好了,就算有失误,伤害也有限,系统总能扛得住。