小编Fit*_*roy的帖子

NTFS 权限 - 创建文件和文件夹但防止删除和修改

目标:用户可以在其中创建文件但不能修改或删除文件的共享文件夹。用户还应该能够创建子文件夹。

我已授予我的安全组以下高级 NTFS 权限:

  • 遍历文件夹/执行文件
  • 列出文件夹/读取数据
  • 读取属性
  • 读取扩展属性
  • 创建文件/写入数据
  • 读取权限

通过反复试验,我发现通过授予“写入属性”,这可以防止用户修改/删除现有文件(这是我想要的)。但是,我真的很想解释一下为什么会这样。我唯一的理论是删除/修改文件会更改文件的属性?下面是同样的讨论

编辑 - 我的问题的第二部分无关紧要,我以为我只选择了“创建文件/写入数据”,但我也选择了“创建文件夹/附加数据”。

此外,我希望用户能够在根目录中创建子文件夹,我发现通过授予“创建文件/写入数据”,这允许这样做。但同样,这个名字表明这个权限应该只允许创建文件,而不是文件夹,所以我不明白它为什么起作用?微软对“创建文件/写入数据”属性的解释是“对于文件夹,指定用户是否可以在文件夹内创建文件。对于文件,指定用户是否可以更改文件或覆盖数据。” 没有提到在文件夹中创建子文件夹的能力?

所以基本上,我已经实现了我打算做的事情,但不明白为什么它有效?

windows ntfs permissions shared-folders

10
推荐指数
2
解决办法
5万
查看次数

正则表达式 - 其中字符串包含“bar”但前面没有“foo”

我目前有一个正则表达式来匹配字符串包含“bar”但前面没有“foo”的地方:

(?<!foo)bar
Run Code Online (Sandbox Code Playgroud)

我希望修改正则表达式以匹配字符串包含“bar”但前面没有“foo”和(可选)任何其他字符的位置。

例如。“footestbar”不应匹配,因为 bar 前面是“foo”,后面是“test”。

我找不到实现此目的的方法,因为正则表达式不允许在负向后查找中使用量词。随后我无法执行以下操作:

(?<!foo.*)bar
Run Code Online (Sandbox Code Playgroud)

有替代方法吗?

更新:
正则表达式风格是re2。我目前正在查看文档,但乍一看注意到以下内容:

(?<!re)     after text not matching re (NOT SUPPORTED)
Run Code Online (Sandbox Code Playgroud)

因此,该解决方案不能使用负向后查找(如果我正确解释文档)。

regex

6
推荐指数
1
解决办法
1万
查看次数

标签 统计

ntfs ×1

permissions ×1

regex ×1

shared-folders ×1

windows ×1