背景:Windows 10 pro,NTFS,不涉及网络,我自己的电脑,我是唯一的用户。
在 d:\vagrant 中安装 Vagrant 后,我创建了一个子目录(d:\vagrant\guests),然后发现它意外地具有以下继承的权限:
系统:完全控制(允许一切,不拒绝任何操作)
管理员:与系统相同
用户:检查读取和执行、列出文件夹内容和读取...其他操作都不允许,也没有任何操作被拒绝。
我想让自己完全控制新创建的子目录以及最终在其中创建的所有内容...而不必始终以管理员身份明确运行 Vagrant,也不更改授予“用户”成员的默认权限。
换一种方式,Windows 上的对应内容是什么 chmod 755 d:\vagrant\guests
隐含的细节可能重要也可能不重要:d:\vagrant 是由 Vagrant 的 .msi 安装程序创建的;d:\vagrant\guests 是我在非提升的 cmd.exe shell 中创建的;我的用户是 Windows 可能视为“管理员”的用户(在安装时创建,系统上唯一的用户)。
答案1
您在安装时创建的用户是管理员组的一部分 - 它不是这行政人员。
如果您想在没有安全提示的情况下访问他人拥有的目录,则需要取得所有权并授予自己全部权限。然后,您可以根据需要将所有权改回原位。
拥有所有权承担:
takeown /f "d:\vagrant\guests" /r
然后授予您想要的权限伊卡克尔斯,
重置为默认值以消除任何先前的更改(/t
意味着递归)
icacls "d:\vagrant\guests" /reset /t
赋予自己充分的权限:
icacls "d:\vagrant\guests" /grant "%USERDOMAIN%\%USERNAME%":(F) /t
确保已启用继承:
icacls "d:\vagrant\guests" /inheritance:e /t
现在也许你想删除一些组权限(但也许不想)
icacls "d:\vagrant\guests" /remove:g "BUILTIN\Administrators" /t
icacls "d:\vagrant\guests" /remove:g "NT AUTHORITY\SYSTEM" /t
icacls "d:\vagrant\guests" /remove:g "NT AUTHORITY\Authenticated Users" /t
然后检查:
icacls "d:\vagrant\guests" /t
然后如果你想改变所有权
icacls "d:\vagrant\guests" /setowner "BUILTIN\Administrators" /t