问题标签 [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.

0 投票
0 回答
432 浏览

windows - 具有 FAT32 的逻辑磁盘的只读模式

如何为 FAT32 格式化的特定逻辑磁盘(如 F:)设置为 Windows“只读”模式?我知道 gpedit.msc 中可移动存储的访问权限策略,但它们适用于所有逻辑磁盘。我想通过磁盘名称(F:H:等)设置此模式。我该怎么做?我曾尝试编写简单的 C# 代码来更改磁盘的访问权限,但它不适用于 FAT 磁盘:

0 投票
0 回答
421 浏览

c++ - SetNamedSecurityInfo:为对象设置 DACL 有效,但在系统重新启动后不会持续存在

在 Windows 7 中,我试图让用户组能够对通过 SCSI 连接的特定磁盘进行读/写访问,以便他们可以运行对该磁盘进行读/写的实用程序。我试图通过使用 C++ 使用 SetNamedSecurityInfo 修改磁盘对象的 DACL 来做到这一点。

我编写的代码似乎有效,我通过在更改 DACL 之前和之后在对象上使用 GetNamedSecurityInfoA 确认了这一点,然后将收到的 SecurityDescriptors 传递给 ConvertSecurityDescriptorToStringSecurityDescriptorA,并确保它们已更改。运行此代码后,我能够以“DRS Operators”用户组中的任何用户身份登录,并且能够读取/写入磁盘。

我遇到的唯一问题是系统关闭后对 DACL 的更改不会持续存在。重新启动后,DACL 被设置回我运行上述代码之前的状态(我使用 GetNamedSecurityInfoA 进行了检查)。这里有没有人知道为什么这些变化没有持续存在?

0 投票
0 回答
610 浏览

c++ - 仅授予文件夹对 LocalAccount 的访问权限并拒绝所有人

如果文件夹已经存在,我必须创建一个文件夹或修改安全属性。我需要设置文件夹的权限,以便只有 LocalAccount 具有完全访问权限,而其他用户帐户不应该对此文件夹有任何访问权限。截至目前,我正在尝试以下代码,但无法实现。

更新:我猜,任何现有的 ACE 导致问题(如果文件夹存在)或任何从父目录继承的 ACE 导致问题?

0 投票
1 回答
449 浏览

c++ - 我需要使用 ext4 文件系统以编程方式获取和设置 Ubuntu 14.04 台式计算机的 ACL(访问控制列表)

我需要使用 ext4 文件系统以编程方式获取和设置 Ubuntu 14.04 LTS 台式计算机的 ACL(访问控制列表)。我想知道这是否有 C 或 C++ 库函数。我需要这个 C/C++ 函数来使用 DACL 初始化提供的安全描述符,该 DACL 授予 Authenticated Users 组 GENERIC_READ、GENERIC_WRITE 和 GENERIC_EXECUTE 访问权限。从昨天下午开始,我在谷歌上搜索了这个主题,只找到了有关 getacl 和 setacl Linux 命令行实用程序的信息。我是否必须编写自定义 C 或 C++ 函数和数据结构才能完成此要求?

0 投票
1 回答
543 浏览

security - 如何关闭命名管道安全性?

我正在尝试在两个 Windows 进程之间创建一个命名管道。服务器进程在 UI 会话中以普通帐户运行。客户端进程在未知的安全上下文中运行,显然是相当受限的。

最初我打电话给

即离开通行证没有SECURITY_ATTRIBUTES。通常,这是可行的——没有安全意味着没有安全。显然,命名点不再是这种情况。来电者试过

并返回一个GetLastError=5,访问被拒绝。测试表明这是由于安全故障造成的;如果客户端可执行文件是在与服务器相同的 UI 会话中从测试环境运行的,则完全相同的行将成功。

合乎逻辑的解决方案是将用于的 DACL 设置为( SECURITY_WORLD_SID_AUTHORITY, KEY_ALL_ACCESSS-1-1-0) 。这并没有解决问题。SECURITY_ATTRIBUTESCreateNamedPipeA

“每个人都可以做任何事”剩下的唯一安全降级将是“没有任何安全性”。我该怎么做才能CreateNamedPipe永远CreateFileA 不会因拒绝访问而失败?

安全性在这里无关紧要。PIPE_TYPE_MESSAGE并且pipeChunkSize已经意味着服务器可以安全地防止流氓客户端的缓冲区溢出。

0 投票
3 回答
535 浏览

c++ - 是否可以禁止获取文件的所有权?

我很好奇是否有办法阻止用户(包括属于管理员组的用户)获得文件的所有权?

我最初从在Local System帐户下运行的服务创建此类文件。然后我将该文件设置DACLD:(A;OICI;GA;;;SY)仅让SYSTEM帐户具有完全访问权限,并设置my service为所有者:

但完成这一切之后,我仍然可以通过 Windows 资源管理器以管理员身份获得该文件的所有权:

在此处输入图像描述

0 投票
0 回答
317 浏览

c++ - 使用安全描述符的 DACL 仅允许某些进程/应用程序访问互斥对象

我正在创建一个用于创建互斥锁的安全描述符CreateMutex()。事实证明,当创建进程在服务内并且访问进程来自用户时,您不能使用默认自由访问控制列表 (DACL) 附带的默认描述符。

我不想使用NULLDACL,因为它没有安全性并且从不推荐。我希望能够以仅允许指定进程访问的方式创建或使用 DACL。那可能吗?

DACL 是否有可能拥有一个允许特定进程的访问控制条目?也许使用某种进程 ID 或常量?

0 投票
1 回答
61 浏览

windows - 安装程序无法为本地用户授予 DLL 访问权限

当我在某些计算机上使用安装程序可执行文件(使用 NSIS 生成)安装我的应用程序时,特定的 DLL 在其安全权限中没有获得本地用户组的 ACL。结果是加载有问题的 DLL 仅适用于管理员。

受影响的始终是同一个 DLL。所有其他 DLL 安装完美。DLL 已正确签名。

DLL 的 DACL 通常包含以下条目:

  • 系统
  • 约翰·多 (john@doe.local)
  • 管理员 (PC-NAME\Administrators)
  • 用户 (PC-NAME\Users) --- 受影响的 DLL 中缺少此用户

什么可能导致这种情况,我该如何解决?

0 投票
1 回答
368 浏览

c++ - 为特定于进程的安全描述符创建访问令牌

是否可以创建自定义访问令牌来为自由访问控制列表创建访问控制条目,如果它们具有匹配的访问令牌,则仅允许某些进程访问全局互斥对象?

这是在使用 C++ 的 Windows 中。

0 投票
0 回答
363 浏览

winapi - Winapi:大小为 SECURITY_DESCRIPTOR_MIN_LENGTH 的安全描述符具有 ACL

我是winapi的新手,我遇到了这段代码:

MSDN 网站告诉我,The minimum length of a security descriptor is SECURITY_DESCRIPTOR_MIN_LENGTH. A security descriptor of this length has no associated security identifiers (SIDs) or access control lists (ACLs).但是当我测试这段代码时,它运行良好。我做了很少的研究,发现了关于安全描述符的 MSDN 示例,并且在那里也使用了这样的代码。我想我误解了一些东西,不应该使用SECURITY_DESCRIPTOR_MIN_LENGTH然后添加 ACL 会导致错误吗?对不起,如果问题听起来很傻。