我正在尝试创建一个类似于Folder Lock的程序,它阻止用户访问特定文件夹。我尝试使用DirectorySecurity类和AccessRules来更改文件夹的AccessControl。
但是,通过转到“安全选项卡”并更改权限,可以轻松更改我指定的设置。
是否存在阻止访问目录的安全方法?
答案 0 :(得分:3)
我想my answer这个问题:“How could I prevent a folder from being created using a windows service?”可能就是你需要做的事情来实现你想要的东西:
不幸的是我什么都不知道 足够关于如何帮助你, 但我很确定你需要的 写或获得File System Filter Driver可以 与您的Windows服务进行通信 告诉它有人尝试过 创建一个目录/文件,以便 您的服务可以做出决定 它。这种方式当某人/某事 尝试创建文件或文件夹 那是不允许的 返回“拒绝访问”或其他 您选择的Win32错误。
如果你确实走了使用路线 一个司机,我猜它仍然是最好的 做重要的决定是否 在...的创建/修改 服务,即在内核模式之外。
答案 1 :(得分:1)
只要用户是目录或文件的所有者,他就可以更改权限。您必须更改目录的所有权才能真正保护目录(并且要求更改所有权需要管理权限)。 但具有管理员权限的用户始终可以取回所有权。
如果您在企业中且人员不是其计算机的管理员,则可以编写以域管理员身份运行的Windows服务并进行必要的更改。在家庭环境中,没有办法。
答案 2 :(得分:1)
有两件事可以否决本地管理员的权利。
但是你不能用c#做第二个选项,第一个选项更像是Active Directory配置解决方案。
答案 3 :(得分:0)
不,您无法阻止计算机管理员帐户访问或取得任何文件夹的所有权。
您可以阻止受限制的帐户(如您所述),但管理员始终可以更改安全设置。