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

0 投票
5 回答
58619 浏览

vbscript - vbscript:fso.opentextfile 权限被拒绝

在我的代码段中,当我编写文件名脚本时,它在以下行中给了我一个被拒绝的权限:

这是脚本

我已经分配了 vbscript 域管理员权限。有任何想法吗?

提前致谢

0 投票
2 回答
2278 浏览

c# - 如何以编程方式检查 .NET 中的有效删除(修改)或写入权限?

提前抱歉这个长问题。我真正感兴趣的是一种以编程方式检查正在执行的 Windows 身份是否具有足够的 Windows 权限来写入 ASP.NET Web 服务应用程序中的目录(或文件)的方法。但我将满足于为用户检索给定目录或文件的有效删除(修改)权限。问题是我希望能够做到这一点,而无需编写临时文件或不必执行 IO 操作并处理异常。

是的,已经有一个问题了(请参阅如何以编程方式确定我是否有在 .Net 中使用 C# 的写入权限?)通常我会同意接受的答案,即最好的方法是尝试 IO 操作并处理任何异常——System.IO 方法确实会抛出 System.UnauthorizedAccessException 以指示由于特权拒绝而导致的失败。但是在上传文件的情况下,我真的很想在浪费上传数据的时间和资源之前检查权限,因为只有在上传之后我们才能尝试写入有问题的文件或文件夹。我很遗憾任何通过 http 上传 2GB 文件的用户在上传完成后才被告知他们无权将文件上传到目的地。

如果您不想执行实际写入,测试写入访问的常用方法是写入一个临时文件。另一个问题有一个答案指出了这一点。这就是我们的代码当前所做的。但是 Windows 安全性允许写入访问权限而没有删除权限。只有写入权限但没有删除权限的用户最终会留下各种未删除的 .tmp 文件。不,我们不想使用域管理员帐户来重置 tmp 文件上的 ACL,然后删除它们。我一直采用的方法是使用 System.IO.Directory.GetAccessControl(..) 或 System.IO.File.GetAccessControl(..) 检查用户是否具有写入权限,并处理各种访问规则和 ACE 返回...但是有了这个我仍然有处理有效权限的问题——即在大多数情况下我还必须查找用户' s ACE 中列出的任何组的成员资格,这些组对对象具有权限。必须有一个更简单的方法......不是吗?

0 投票
3 回答
1920 浏览

file-permissions - PHP-CLI + 文件权限

当您在命令行中运行 php 脚本时,是以当前用户的读/写权限执行还是什么?

0 投票
8 回答
28918 浏览

python - 如何使用 Python 的 zipfile 模块对 ZIP 文件中的文件设置权限(属性)?

当我从使用 Python 模块创建的 ZIP 文件中提取文件时zipfile,所有文件都不可写、只读等。

该文件是在 Linux 和 Python 2.5.2 下创建和提取的。

据我所知,我需要ZipInfo.external_attr为每个文件设置属性,但这似乎没有记录在我能找到的任何地方,谁能启发我?

0 投票
6 回答
636 浏览

php - PHP 缓存而不弄乱文件权限(另外,如何在 PHP 中模拟 ASP 应用程序变量)

我正在尝试在 PHP 脚本中实现某种缓存,该脚本将发送到许多不同的客户端/站点,这些客户端/站点将由相当非技术的用户使用各种 Web 主机进行部署。由于用户的非技术性质,我想避免要求他们调整文件权限。缓存需要跨会话,因此不使用会话变量。如果我在 ASP 中对此进行编码,我会使用应用程序变量,但它们在 PHP 中不存在(据我所知)

有没有人对如何做到这一点有任何建议?

以下是我考虑过的一些可能性,对此的任何评论都会很有用:

  • 通过系统临时文件夹中的文件进行缓存 - 我可以使用 sys_get_temp_dir() (或 PHP4 上的一些家庭推出的类似函数)来帮助找到这样的文件夹。这里的缺点是它可能不适用于使用 openbase_dir 限制的主机
  • 我看过的一些网站提到欺骗 PHP 使所有用户会话共享相同的会话状态,从而迫使会话变量像会话变量一样工作。当然,我现在找不到那个帖子了……无论如何,这似乎很可怕。(一旦我再次找到它,我会用这个帖子的链接更新这个问题)
  • 使用像亚马逊的简单存储服务这样的第三方数据存储——看起来有点矫枉过正
  • 在我控制的服务器上缓存数据,并让客户端在每次点击时从那里下载新数据。

再一次,对这些想法或任何新想法的任何评论将不胜感激。

更新:我尝试使用 session_id() 来使用共享会话状态,但它不起作用。每个会话都维护自己的“GlobalCache”,有什么想法吗?:

更新:有些人建议使用 memcached,这实际上对某些人来说是一个很好的解决方案,但由于我无法控制终端服务器环境,所以它不是一个选项。这个想法是有一个脚本,人们可以通过 FTP 上传到一个开箱即用的共享主机帐户。

更新:有人建议使用脚本创建我自己的缓存文件夹,但我不需要在已经具有写入权限的文件夹中创建这样的文件夹吗?

更新,找到解决方案:我最终找出了我的全局会话脚本中的问题,并为此发布了我自己的答案。感谢大家的帮助。

0 投票
1 回答
1691 浏览

c# - 如何更改文件权限以阻止 Vista 写入 VirtualStore 目录中的文件?

当我的程序第一次安装时,它会在用户的 AppData 目录中放置一个文件,然后程序将定期写入该文件。问题是在 Vista 中,不会写入用户 AppData 目录中的文件,而是写入“VirtualStore/ProgramData”目录中该文件的副本。用户 AppData 目录中的原始文件永远不会更改,似乎在程序运行时它只能访问 VirtualStore 目录中的文件。

有没有办法从 C# 应用程序内部更改该文件的权限,以便我的程序将写入 AppData 目录中的原始文件,而不是 VirtualStore 目录中的文件?

谢谢,

杰夫

0 投票
3 回答
3660 浏览

delphi - Delphi 2009 类/组件读/写文件权限

有没有人有一组类/组件可以与 Delphi 2009 (Unicode) 一起使用来读取和写入 NTFS 文件权限?

有一个叫做“NTSet”的东西——但他们在大约 3 年前在 Delphi 2006 停止了开发:-(

还有其他接班人吗??

谢谢!马克

0 投票
2 回答
1824 浏览

c# - 需要写入 Program File 文件夹的自更新 .NET 客户端应用程序

类似于: 如果路径受到保护,请求 Windows Vista UAC 提升?

我在 c:\Program Files (Windows Vista) 中安装了一个 .NET 客户端应用程序。此应用程序应自行更新,但不是因为权限问题。自动更新程序应该简单地替换几个程序集,但它们都位于 c:\Program File 下,并且应用程序会引发以下异常:

System.UnauthorizedAccessException:对路径“C:\Program Files...”的访问被拒绝。

我无法控制应用程序的安装位置和权限。有什么解决方法吗?是否可以请求管理员权限几秒钟?是否可以弹出 UAC 窗口?我很确定有一种解决方法......否则,Firefox 将如何自我更新?

提前感谢您的帮助和想法!

0 投票
1 回答
89 浏览

asp.net - 付费虚拟主机上没有 FileIOPermission 正常吗?

我目前正在使用 IIS6 和 ASP.NET2.0 的共享服务器上购买虚拟主机(他们宣传 3.5,但我的调查证明这是错误的)。

我做了一些工作以使我的 3.5 敏感 ASP.NET 应用程序在我的主机上编译然后发现另一个问题:由于没有 FileIOPermissions,我的应用程序在“File.Open()”调用中失败。

我已致电技术支持,他们已告知我此权限仅在我将 IIS6 配置为仅使用 .NET 1.1 时可用。我是否认为这还不够好?

0 投票
12 回答
3429 浏览

windows - 如何保护 Windows 中的文件

更新 3:现在使用安全选项卡限制访问。(手动)现在希望以编程方式(使用 Visual C#)以及如何在简单的用户帐户中使用管理员帐户访问文件。提示 - 我在 Windows 中注意到此功能,右键单击并使用“执行为”,输入管理员密码,然后您可以访问该文件。

更新 2:找到如何显示安全选项卡

显示安全选项卡

在控制面板中打开文件夹选项。(单击开始,单击控制面板,单击外观和主题,然后单击文件夹选项。)

在查看选项卡的高级设置下,清除使用简单文件共享 [推荐]。

更新1:我找到了以下文章,它建议了如何授予文件权限,但是当我单击属性时我没有找到安全选项卡,你有吗?任何想法如何得到它

我有一个文件要防止被修改。不要对我说加密它,这不能解决问题,我希望用户不能更改文件,但只有我(我的程序)。是否有任何类型的 Windows 文件身份验证,我知道我所说的身份验证是愚蠢的,但是某些 Windows 文件无法访问,例如用户配置文件中的“ntuser.dat.LOG”。当我尝试打开此文件时,它不会打开。

我想要这样的东西,对于这个文件,似乎是因为 Windows 正在使用它。对。但是如果我的程序关闭了,我也不希望在这种情况下更改文件。我该怎么办?

我不要求完整的详细解决方案,我想要想法、建议、提示或任何您知道会有所帮助的东西,因为它似乎很复杂:p