我试图拒绝所有用户删除一个文件夹(以及它的内容,如果可能的话)。
我目前拥有的东西不起作用。
icacls pics /deny Everyone:(OI)(CI)(DE)
使用上面的行既不能保护文件夹也不能保护它的内容,因为我仍然可以删除文件夹和其中的所有文件。
我试图拒绝所有用户删除一个文件夹(以及它的内容,如果可能的话)。
我目前拥有的东西不起作用。
icacls pics /deny Everyone:(OI)(CI)(DE)
使用上面的行既不能保护文件夹也不能保护它的内容,因为我仍然可以删除文件夹和其中的所有文件。
我想我找到了解决方案:
icacls pics /deny Everyone:(OI)(CI)(DE,DC)
这否认了删除 (DE)
和删除 childs 的特定权利(DC)
。
*S-1-1-0
而不是Everyone
. (参见众所周知的 SID)attrib +r pics
然后拒绝(WA)
它以使其无法更改(归功于Harry Johnston)要防止删除文件,您需要拒绝该文件的Delete权限并拒绝包含文件夹的Delete Child权限(又名“删除子文件夹和文件”)。为了真正防止删除,两者都不能被允许。
换句话说,如果授予其中一个或两个权限,Windows 允许删除文件。
如果您被允许更改包含文件夹的权限,则答案的上述部分应该足够了,否则,有一些技巧可以防止您的文件夹被删除(全部由我试验)。
DEL
命令,都无法直接RMDIR
删除只读文件或文件夹,上述命令所做的就是在执行删除操作之前尝试删除文件上的只读属性。因此,在拒绝写入属性 (WA) 权限的同时在文件夹上设置只读属性将有效地防止文件夹被删除。这是一个将两个技巧组合在一起的批处理脚本示例:
ECHO.>"myfolder\dummy"
REM Technically R is sufficient to prevent deletion,
REM but it wouldn't hurt to add H and S attributes.
attrib +R +H +S "myfolder\dummy"
REM Deny permissions on dummy file.
REM Hint: S-1-1-0 means Everyone; S-1-5-7 means Anonymous Logon group
icacls "myfolder\dummy" /deny *S-1-1-0:^(DE,WA^) *S-1-5-7:^(DE,WA^)
REM Make folder read-only and deny permissions on it.
attrib +R "myfolder"
icacls "myfolder" /deny *S-1-1-0:^(DE,DC,WA^) *S-1-5-7:^(DE,DC,WA^)