问题标签 [dacl]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
windows - 什么原因导致“权限订购不正确”?
App_Data
在调试涉及SQLite和IIS的一个特别麻烦的错误时,我们在访问属性时遇到了权限问题
App_Data上的权限排序不正确,可能会导致部分条目无效。
这里还有一个截图:
我的问题不是不正确的排序是什么,我认为您如何以编程方式修复非规范 ACL?已经很好地介绍了这个问题。
我想知道的是哪些类型的订购不正确?例如,如果我们Full Control
输入 for Everyone
,它应该在其他权限之前还是之后?是否有任何触发错误的错误排序示例?我们点击Reorder
了,所以我们不再可以在我们的机器上重现错误。
c# - 如何在 C# 中编辑 DACL?
有没有类似的SetFileSecurity
功能?
我需要从 Python 重新编写一些测试,我被困在这部分。pywin32
在 Python 中,我可以使用(具有 C++ 实现的模块与 Windows API 一起使用)自由编辑 DACL 。我可以用win32security
.
将所有者更改为Everyone
? 好的。
删除继承的 ACE?简单的。
所有那些没有一些特殊权限的人。
但是如果我想在 C# 中做这样的事情。我发现的一种方法是使用纯 SDDL 更改安全描述符,但如果在没有特权的情况下调用System.Security.File.SetAccessControl()
withFileSecurity
则不起作用。此外,即使使用具有几乎所有权限的管理员令牌,如果我想以“错误”的方式更改某些内容(删除一些继承的 ACE),安全描述符也不适用。如果我尝试做一些“非常错误”的事情,比如将所有者设置为,则会引发异常。SetSecurityDescriptorSddlForm
SeSecurityPrivilege
Everyone
使用管理员令牌运行:
windows - Windows 权限代码:获取 ACE 时令人困惑的答案
在实现一段代码以获取所有者和组的 ACE 时,我将此代码用作灵感。
为了测试这段代码,我在文件夹中创建了一个文件。
在提升的命令提示符中,我以文件名作为输入运行应用程序(从上面的代码创建的 exe),并查看如下输出
我右键单击同一文件并在安全设置中,我拒绝同一用户对该文件的所有权限。
我再次在这个文件上运行应用程序,我仍然得到相同的输出
我错过了什么吗?我试图理解这段代码,但我无法找出任何明显的错误。
windows - Windows DACL 权限
我正在尝试使用 Windows 权限 API 修改权限。我有一个独立的用例代码,如下所示,我首先撤销所有访问权限,然后授予读写权限。
我得到此代码的输出如下
授予权限后,我可以访问文件“file.txt”,我可以打开它/写入它(例如 CreateFileW 通行证)
我不明白的是权限位背后的奥秘,0
即使我已将权限授予FILE_GENERIC_READ | FILE_GENERIC_WRITE
受托人CURRENT_USER
,它也会显示出来。
我还使用检查了 DAC 列表icacls
,它给了我以下输出
这告诉我,我的GRANT
权限 ACE 被推到了权限之下DENY
,这是一个有据可查的行为。
这就是我将标志值设为 的原因0
吗?
有什么方法/API/函数可以让我得到正确的标志,即可以告诉我FILE_GENERIC_READ
并FILE_GENERIC_WRITE
设置?
windows - 远程位置的文件访问检查
我正在使用类似于下面的代码来检查对文件夹/文件的访问。资源
此代码在客户机器(我们的应用程序运行的地方)上失败,并且对于不在 Windows 域中的本地用户以及具有基于 Samba 的网络共享的用户返回答案为 false。
我们的一位内部 Windows 专家评论说,也许在上述情况下,网络文件管理器返回的用户 SID 与 AccessCheck 函数中查询权限的 SID 不匹配。然后他提到,也许,为了实现这样的事情,我们必须正确地创建某种登录令牌,然后模拟它以获得正确的访问权限。
如何模拟域用户(或网络文件管理器允许的某些用户),以便网络文件管理器允许我的代码获取正确的访问信息?
任何帮助将不胜感激。
c# - 如何防止其他程序重命名其他顶级窗口标题
背景:我正在制作一个家长控制应用程序。
我的应用程序枚举屏幕上的所有顶级窗口,并通过窗口标题使用终止其他进程
SetWindowText(hwnd, WindowText, WindowText.Capacity)。
但是我的应用程序有一个巨大的安全漏洞。
用户可以使用 SetWindowText(IntPtr hwnd, String lpString) 重命名窗口标题。然后,我尝试以管理员身份运行 cmd.exe,SetWindowText 不起作用。
我想从根本上解决问题。
为了防止未经授权的程序重命名其他程序的窗口标题,如何在C#中授予所有顶级窗口或特定应用程序的写权限?
windows - 使命名管道仅对启动客户端进程的登录 sid 可访问
我有创建客户端进程并创建命名管道的服务器。客户端通过命名管道与服务器通信。
要防止远程用户或不同终端服务会话上的用户访问命名管道,请在管道的 DACL 上使用登录 SID。登录 SID 也用于 run-as 登录;它是用于保护每个会话对象名称空间的 SID。有关详细信息,请参阅在 C++ 中获取登录 SID。 https://docs.microsoft.com/en-us/windows/desktop/ipc/named-pipe-security-and-access-rights
我该怎么做呢?它告诉我如何获取 SID,但如何SECURITY_ATTRIBUTE
使用 SID?
python - 尽管是文件的所有者,但 READ_CONTROL 的 CreateFileW 失败并显示“访问被拒绝”
在Windows 上,即使自主ACL (DACL) 为空,即没有人对文件具有权限,文件所有者也可以读写DACL(READ_CONTROL
和WRITE_DAC
访问)。
所以我尝试执行以下操作:
- 在文件上设置一个空的 DACL
- 获取文件的句柄
READ_CONTROL
GetSecurityInfo
使用和句柄获取安全描述符- 检查 DACL 是否实际为空
但是,使用获取句柄CreateFileW
失败并Access is denied
出现错误。令人惊讶的是GetFileSecurity
,相当于GetSecurityInfo
for files 的 , 工作得很好。根据文档,GetFileSecurity
需要READ_CONTROL
访问权限。
为什么CreateFileW
在以下示例中失败?
输出:
c++ - 修改 DACL 以防止每个人在没有调试权限的情况下杀死进程
我有一些我写的代码。我需要在Windows 10中修改DACL(安全描述符)以防止在没有用户调试权限的情况下终止进程。我该怎么做?我在互联网上学习了算法,为此寻找了一些功能,但过程仍然没有任何问题地关闭。我尝试调试了很多时间,代码可以正常工作,但没有成功。
我应该如何解决这个问题?对于下面的示例,我为 Denied PROCESS_TERMINATE 添加 ACE。这是正确的方式吗?
还建议我如何检查。我知道我会收到拒绝权限的消息框,是吗?
我的代码(ps更新):
windows - 如何检查进程是否可以访问 Windows 中的安全对象
场景:我有一个可以创建、启动、停止其他服务的服务,并通过 IPC 将其提供给用户进程。
如果调用进程有权访问 SCM,我如何签入我的服务?
所以在更抽象的层面上,我有一些安全的对象,在这种情况下是 SCM,但它实际上可以是任何其他进程、线程、文件、文件夹或 reg 键等......而且我有一些用户进程可能或可能没有访问该资源的权限。如何在第 3 方进程中确定所述用户进程是否有权访问给定的安全对象?