gpt4 book ai didi

c# - ObjectSecurity.GetOwner 返回组而不是用户

转载 作者:行者123 更新时间:2023-11-30 14:39:53 24 4
gpt4 key购买 nike

我正在尝试确定创建特定文件的用户,如下所示:

string path = "C:\\TheFile.dat";
string user = System.IO.File.GetAccessControl(path).GetOwner(typeof(System.Security.Principal.NTAccount)).ToString();

当文件由不是 Administrators 用户组成员的用户创建时,将返回该用户的用户名。但是,当文件由管理员用户组成员的人创建时,返回“Domain\Administrators”。

谁能想到为什么会发生这种情况以及我如何才能确保返回真实的用户名?

谢谢。

最佳答案

这是操作系统本身的默认行为。刚刚创建了一个新文件并遵循:“右键单击 > 安全选项卡 > 高级 > 所有者”,你会看到如果你是管理员,所有者选项卡中将有两个条目。第一个是“管理员”,第二个是创建文件的用户。如果这是客户端的计算机,这将始终是默认行为。原因是:如果用户是管理员,那么他们创建的文件将被视为属于整个管理员组,而不是单个用户。

关于c# - ObjectSecurity.GetOwner 返回组而不是用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6016279/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com