我们刚刚将域升级到 Windows 2008。我希望有一种方法可以将文件服务器上所有文件/文件夹的修改权限授予一个组。我知道管理员组(域管理员等)在任何地方都有完全访问权限,但我不希望该组能够更改安全设置。有什么方法可以实现这一点吗?
我们想创建一个组,并赋予该组修改网络上所有文件/文件夹的权限(网络上的所有文件夹都有不同的安全权限),而无需将它们放在任何管理组中。
谢谢,
答案1
没有“捷径”可以完成您要做的事情。您将在各个文件夹层次结构中找到权限继承的所有根源,并将“新建组/更改”权限应用于这些层次结构。
我想有人可以编写一些东西来找出所有阻止继承的文件夹并自动应用此权限更改,但我不知道有任何这样的工具。
编辑:
下面的脚本将(以一种非常简单的方式,可能不是 100% 可靠)使用该工具定位权限层次结构的顶部icacls
。在命令行上指定起始目录。
(该脚本只是在设置了标志的文件上查找 DACL SE_DACL_PROTECTED
,根据http://msdn.microsoft.com/en-us/library/aa379570(v=vs.85).aspx)。
@echo off
if "%~1"=="" goto end
SET TEMPFILE="%TEMP%\%RANDOM%.txt"
for /D %%i in ("%~1\*") do (
icacls "%%i" /save %TEMPFILE% >NUL 2>NUL
find "D:P" %TEMPFILE% >NUL 2>NUL
if errorlevel 1 del %TEMPFILE%
if exist %TEMPFILE% echo Top of permission hierarchy: %%i
if exist %TEMPFILE% del %TEMPFILE%
call "%0" "%%i"
)
:end
您可以轻松添加条件来改变您找到的目录的权限,或者只是将列表输出到文件,然后对文件进行迭代。