c00*_*0fd 1 c++ windows winapi windows-security dacl
我很好奇是否有办法阻止用户(包括属于管理员组的用户)获取文件的所有权?
我最初是从我在Local System帐户下运行的服务创建这样的文件.然后我把这个文件的DACL,以D:(A;OICI;GA;;;SY)仅让SYSTEM帐户具有完全访问权限,并设置my service为所有者:
DWORD dwRes = ::SetNamedSecurityInfo(
strDataFilePath,
SE_FILE_OBJECT,
OWNER_SECURITY_INFORMATION, // change only the object's owner
pMyServiceUserSid, // User SID for my service
NULL,
NULL,
NULL);
Run Code Online (Sandbox Code Playgroud)
但是完成所有这些后,我仍然可以通过Windows资源管理器作为管理员获取此文件的所有权:
不,这是不可能的.具有管理权限的帐户的本质是它们可以基本上按照自己的意愿行事.管理员拥有该系统.无论您如何设置权限,他们始终可以拥有文件的所有权.
您所做的一切就是让管理员更难以更改文件,因为他们必须首先拥有所有权.这是有益的; 它甚至可以防止管理员进行无意的更改.没有人"意外"获得文件的所有权.
正常的解决方法是为每个人分配非管理帐户(这实际上是你应该做的事情),或者使用一些外部手段加密文件.
结论:不要让人们不相信对您的计算机或文件的管理访问权限.
| 归档时间: |
|
| 查看次数: |
230 次 |
| 最近记录: |