问题标签 [file-permissions]
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-vista - Vista中的权限
我正在调用:config.Save(ConfigurationSaveMode.Modified); 这个调用在 Windows XP 中运行良好。
当我在 Vista 中运行它时,我得到:
异常:System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.Configuration.ConfigurationErrorsException:加载配置文件时出错:访问路径“C:\Windows\system32\2lqfj0cv.tmp”被拒绝。(C:\Windows\system32\MsiExec.config) ---> System.UnauthorizedAccessException: 对路径“C:\Windows\system32\2lqfj0cv.tmp”的访问被拒绝。
现在我猜测这里的相关事实是我正在从 Windows Installer MSI 运行上面的调用(调用托管 DLL)。我想我需要做些什么来提高用户权限?我真的不太了解 Vista 权限?
linux - Linux目录权限读写不删除
是否可以设置目录权限,使组能够读取和写入文件和子目录但不能删除任何内容?
c++ - 如何从 C++ 更改 ACL?
如何从 C++ 更改 ACL?
任何人都可以在没有任何确认的情况下帮助我从 c++ 执行以下操作:
python - 确定是否继承了 ntfs 权限的可靠方法
我在这里有一个有点模糊的问题。
我需要什么:确定文件/文件夹的权限(或者,严格来说,DACL 的特定 ACE)是否被继承。
我如何尝试解决这个问题:使用 python 的 winapi 绑定(准确地说是 win32security 模块)。这是精简版,它就是这样做的——它只是将文件的路径作为参数,并一一打印出 ACE,指示设置了哪些标志。
很简单——获取一个安全描述符,从中获取一个 DACL,然后遍历 DACL 中的 ACE。这里真正重要的一点是 INHERITED_ACE 访问标志。它应该在 ACE 被继承而不是显式设置时设置。
当您创建文件夹/文件时,其 ACL 会根据父对象(文件夹)的 ACE 填充 ACE,这些 ACE 设置为传播给子对象。但是,除非您对访问列表进行任何更改,否则不会设置 INHERITED_ACE 标志!但是继承的权限在那里并且它们确实有效。
如果您进行任何细微的更改(例如,在访问列表中添加一个条目,应用更改并删除它),标志就会神奇地出现(该行为不会以任何方式改变,但它之前有效,之后有效)!我想要的是找到 INHERITED_ACE 标志的这种行为的来源,并且可能找到另一种可靠的方法来确定 ACE 是否被继承。
如何重现:
- 创建对象(文件或文件夹)
- 检查 Windows 资源管理器中的权限,查看它们是否已从父对象传播(例如,使用 Windows 资源管理器的文件属性对话框的安全选项卡)。
- 例如,使用我正在使用的脚本检查标志(不会在任何 ACE 上设置 INHERITED_ACE)。
- 更改对象的权限(应用更改),甚至将它们更改回来。
- 检查标志(INHERITED_ACE将在那里)
- ..难以置信地摇头(我知道我做到了)
抱歉,这篇文章有点冗长,希望这至少有点意义。
c# - C# - 获取 ASPNET WindowsIdentity
我想让 ASPNET 用户完全控制几个文件,但看起来我需要先获取帐户的令牌。有谁知道如何在桌面应用程序中模拟 ASPNET 帐户?
谢谢!
linux - 如何防止用户在 Linux 中创建、删除、重命名目录?
我对 Linux 文件和目录权限有点迷茫。我想做的是让一个用户能够创建、删除和重命名目录,而其他用户不能这样做,但他们应该能够读取和写入目录以及遍历它们。
所以组'storage'可以访问目录/workspace,这些用户不应该能够创建、删除或重命名目录。组 'storageAdmin' 也可以访问目录 /workspace,但能够在其中创建、删除或重命名目录。
每当“storageAdmin”创建一个新目录时,“storage”应该可以自动访问它,以便他们可以在其中读取和写入文件。
我是否正确认为 /workspace 需要由“storageAdmin”拥有并设置为 chmod 775 才能正常工作?
asp.net - 文件夹权限
如何授予对 NTFS 文件夹 (Win2003) 的访问权限,以便在将文件添加到此文件夹时,它们获得相同的访问权限?我的问题是我已授予对特定文件夹上的“网络服务”的读取访问权限,但是当我将文件添加到该文件夹(以编程方式将文件生成到该文件夹)时,网络服务没有对这些文件的读取访问权限。我会认为权限级联到文件夹中的文件?非常感谢任何帮助。
multithreading - 是否有 API 仅在特定文件夹上设置 NTFS ACL 而不会向下流动权限?
在我的环境中,我有几个项目涉及在多个文件服务器上运行 NTFS ACL 审计报告和各种 ACL 清理活动。我无法在服务器上本地执行这些活动的主要原因有两个:
1)我没有对服务器的本地访问权限,因为它们实际上是由另一家公司拥有和管理的。
2) 它们是运行经过修改的 Linux 操作系统(称为 GuardianOS)的SNAP NAS 服务器,因此即使我可以获得本地访问权限,我也不确定是否可以使用工具来执行我需要的操作。
解决了这个问题,我最终推出了自己的 ACL 审计报告工具,该工具将从指定的顶级路径开始向下递归文件系统,并针对在 ACL 上遇到的所有组/用户生成 HTML 报告以及显示权限的变化,因为它下降了树。在开发这个工具时,我发现网络开销是执行这些操作的最糟糕的部分,通过多线程处理,我可以实现更高的性能。
但是,我仍然坚持寻找一个好的工具来执行 ACL 修改和清理。您的标准开箱即用工具(cacls、xcacls、Explorer)似乎是单线程的,并且在通过网络时会遭受显着的性能损失。我看过滚动我自己的多线程 ACL 设置程序,但我熟悉的唯一 API 是 .NET FileSystemAccessRule 的东西,问题是如果我在文件夹中设置权限,它会自动想要“流动”权限下降。这会导致一个问题,因为我想自己使用多线程来“流动”。
我知道NTFS“允许”继承权限不一致,因为我已经看到它在具有不同继承权限的两个父文件夹之间的同一卷上移动文件夹/文件,并将旧权限保持为“继承”。
问题
1) 有没有办法设置适用于当前文件夹和所有子文件夹的 ACL(您的标准“适用于文件、文件夹和子文件夹”ACL)但不会自动向下流向子对象?基本上,我希望能够告诉 Windows“是的,这个 ACL 应该应用于子对象,但现在,直接在这个对象上设置它”。
为了清楚起见,我知道适用于“仅此文件夹”的 ACL 选项,但随后我失去了继承,这是一项要求,因此该选项对我的用例无效。
2) 任何人都知道以多线程方式执行 ACL 修改的任何好的算法或方法吗?我的直觉是文件系统的任何递归遍历在理论上都应该有效,特别是如果您只是在顶级文件夹上定义一个新的 ACL 并且只想“清理”所有子文件夹。您将在顶层标记新的 ACL,然后递归向下删除任何显式 ACE,然后将继承的权限“向下流动”。
(仅供参考,这个问题与 ServerFault部分重复,因为它实际上既是系统管理员问题又是编程问题。在另一个问题上,我问是否有人知道任何可以通过网络进行快速 ACL 设置的工具。)
php - Is it posible, to modify or edit txt file, if the file's permission is set as 606?
Is it posible,
to modify or edit txt file,
if the file's permission is set as 606 ,
via WEB browser ,
by normal users ?
I mean I make a txt file named "1.txt"
The first original contents of the txt file is "PAX is great man"
and then ,I upload this file to server.
I set the permission of the file as 606.
so the general users can now modify the file.
so anyone become to be able to edit that file into "PAX eat camel meat" ?
or can not?
windows - RSA 密钥存储权限
从昨天开始,我无法使用 sn.exe 或通过也使用 sn.exe 的 Visual Studio 生成强名称密钥。
尝试生成密钥文件时,将执行以下 cimmand
sn -k“密钥文件.snk”
sn.exe 然后响应
未能生成强名称密钥对 - 访问被拒绝。
在运行 Process Monitor 时重复此过程后,我现在知道 sn.exe 被拒绝访问的位置都位于以下目录中
\ProgramData\Microsoft\Crypto\RSA\MachineKeys
查询该文件夹的权限,发现Everyone 和Administrators 组没有权限,NETWORK SERVICE 帐户拥有完全控制权。
昨天,我安装了使用 NETWORK SERVICE 帐户的 SourceGear Fortress,但这是在问题发生之前对系统进行的唯一重大更改。
所有人和管理员对 RSA 密钥库没有权限是否正常?