这个问题是后续问题 Why is SeCreateSymbolicLinkPrivilege ignored on Windows 8?
假设:
问题:是否可以将SeCreateSymbolicLinkPrivilege
添加到Windows为管理员用户创建的标准用户令牌中?
附录
非提升管理员用户:
C:\dayforce\SharpTop>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ==================================== ========
SeShutdownPrivilege Shut down the system Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeUndockPrivilege Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
C:\dayforce\SharpTop>
普通用户:
C:\Windows\system32>whoami /priv
PRIVILEGES INFORMATION
----------------------
Privilege Name Description State
============================= ==================================== ========
SeShutdownPrivilege Shut down the system Disabled
SeChangeNotifyPrivilege Bypass traverse checking Enabled
SeUndockPrivilege Remove computer from docking station Disabled
SeIncreaseWorkingSetPrivilege Increase a process working set Disabled
SeTimeZonePrivilege Change the time zone Disabled
SeCreateSymbolicLinkPrivilege Create symbolic links Disabled
C:\Windows\system32>
请注意,普通用户具有SeCreateSymbolicLinkPrivilege
权限,因为我已在安全策略中启用了该权限。但管理员用户被搞砸了,因为这样做不会影响其标准用户令牌!
答案 0 :(得分:1)
(这是实际问题的一个问题,但这是对我认为是实际目标的答案的尝试)
我感到很痛苦 - 我一直在寻找一种方法来允许管理员用户无法创建符号链接,但没有成功......
我调查过改变过程令牌("资源管理器"也许) 添加SeCreateSymbolicLinkPrivilege权限,但它出现了 没有办法改变现有令牌的权限集。 即使您的补丁进程以SYSTEM和/或具有 SeTcbPrivilege特权。
我使用CreateRestrictedToken进行了调查,以创建您自己的" 非升级进程,但使用SeCreateSymbolicLinkPrivilege 特权保持启用状态。但是我读过的所有轶事 CreateRestrictedToken表示生成的令牌不能 与'"真实"充分相似非升级令牌。那里 是完整性水平或高架旗帜难以逾越的问题 与令牌相关联。
无论您分配给create-symlink用户的用户是什么 安全策略管理器,如果您的进程没有升级(来自 具有admin的用户),获得SeCreateSymbolicLinkPrivilege权限 除去。即使添加的唯一用户是" Everyone"。
微软真的在这个问题上对我们犯了错误,似乎没有好的解决方法。虽然有一个可能的解决方案......
现在,对于hackish解决方案 - 在用户登录期间,启动后台程序(已提升),这将代表其他进程创建符号链接。这将需要使用某种IPC(可能是命名管道)来接收来自客户端进程的create-symlink-requests。它很丑陋,可能很慢,但除了运行Elevated(或禁用UAC)或从管理员组中删除用户之外,我还没有看到任何其他方式。