目标:用户可以在其中创建文件但不能修改或删除文件的共享文件夹。用户还应该能够创建子文件夹。
我已授予我的安全组以下高级 NTFS 权限:
通过反复试验,我发现通过不授予“写入属性”,这可以防止用户修改/删除现有文件(这是我想要的)。但是,我真的很想解释一下为什么会这样。我唯一的理论是删除/修改文件会更改文件的属性?下面是同样的讨论。
编辑 - 我的问题的第二部分无关紧要,我以为我只选择了“创建文件/写入数据”,但我也选择了“创建文件夹/附加数据”。
此外,我希望用户能够在根目录中创建子文件夹,我发现通过授予“创建文件/写入数据”,这允许这样做。但同样,这个名字表明这个权限应该只允许创建文件,而不是文件夹,所以我不明白它为什么起作用?微软对“创建文件/写入数据”属性的解释是“对于文件夹,指定用户是否可以在文件夹内创建文件。对于文件,指定用户是否可以更改文件或覆盖数据。” 没有提到在文件夹中创建子文件夹的能力?
所以基本上,我已经实现了我打算做的事情,但不明白为什么它有效?
我目前有一个正则表达式来匹配字符串包含“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)
因此,该解决方案不能使用负向后查找(如果我正确解释文档)。