如何使用Windows命令行授予用户对目录的权限(读、写、修改)?
当前回答
优秀点 卡林·达里
我有很多脚本使用调用,我把它们移动到icacls 我怎么也找不到一个脚本来改变根挂载卷的例子:d:\datafolder。我最终创建了下面的脚本,它将卷作为临时驱动器挂载,然后应用,然后卸载它。这是我发现可以更新根挂载安全性的唯一方法。
1获取文件夹挂载GUID到临时文件,然后读取GUID将卷挂载为临时驱动器X:应用sec并记录更改,然后仅从X:驱动器卸载卷,这样挂载的文件夹除了应用sec之外不会被更改或中断。
以下是我的脚本示例:
**mountvol "d:\%1" /L >tempDrive.temp && FOR /f "tokens=*" %%I IN (tempDrive.temp) DO mountvol X: %%I
D:\tools\security\icacls.exe %~2 /grant domain\group:(OI)(CI)F /T /C >>%~1LUNsec-%TDWEEK%-%TMONTH%-%TDAY%-%TYEAR%-%THOUR%-%TMINUTE%-%TAM%.txt
if exist x:\*.* mountvol X: /d**
其他回答
我尝试了下面的方法,对我来说很有效: 1. 打开用于cmd . exe 2. takeown /R /F *.* 3.icacls * /T /grant [username]:(D) 4. 德尔*。* / s / q
这样文件就可以成为我自己的访问权限,并分配给“删除”,然后我就可以删除文件和文件夹。
我无法打开驱动器中的任何文件,这个命令解锁了所有-
icacls i:\* /grant Users:F /t /q /c
使用cacls命令。请看这里的信息。
CACLS文件/e /p {USERNAME}:{PERMISSION} 在那里, /p:设置新的权限 /e:编辑权限并保留旧权限,即编辑ACL而不是替换它。 {USERNAME}:用户名 {PERMISSION}:权限可以是: R -读取 W -写 C -改变(写) F -完全控制 例如,用以下命令授予Rocky完全(F)控制权(在Windows命令提示符下输入): C:> CACLS files /e /p rocky:f 输入以下命令阅读完整帮助: C:> cacls /?
当我运行命令时:
icacls "c:/path/to/folderA/folderB" /grant:r Everyone:(OI)(CI)F /T
folderB中的文件都没有被处理,这是通过输出消息表示的:
Successfully processed 0 files; Failed processing 0 files
然而,一旦我将指定的路径更改为父目录(“c:/path/to/folderA”)并重新运行命令,folderB中的所有文件都被成功处理。
注意:如果您希望folderA中的任何其他文件/文件夹不被处理,请在运行上述命令之前尝试将所有这些文件/文件夹移动到不同的位置。
希望这对遇到同样问题的人有所帮助。
我为此挣扎了一段时间,只有结合这个帖子中的答案对我有效(在Windows 10上): 1. 打开cmd或PowerShell,进入有文件的文件夹 2. takeown /R /F 3.icacls * /T /grant dan:F
好运!
推荐文章
- 我如何找到哪个程序正在使用端口80在Windows?
- 在Windows中有像GREP这样的模式匹配实用程序吗?
- 试图在Windows 10上运行Python时出现“权限被拒绝”
- 如何在Windows命令提示符下运行.sh ?
- 如何从命令行在windows中找到mysql数据目录
- 在没有事件源注册的情况下写入Windows应用程序事件日志
- 无法在Windows上从/usr/local/ssl/openssl.cnf加载配置信息
- GIT克隆在windows中跨本地文件系统回购
- 如何运行一个PowerShell脚本而不显示窗口?
- PowerShell:仅为单个命令设置环境变量
- 为什么这个Windows批处理文件只执行第一行,而在命令shell中执行所有三行?
- 环境变量存储在Windows注册表的哪里?
- 有一个好的Valgrind Windows的替代品吗?
- Windows和Linux上的c++编译:ifdef开关
- 如何验证批处理文件中是否存在一个文件?