我在Unix服务器上有一堆用户目录,但未附加到活动目录,但是,几乎所有目录的名称都与它们在AD中的用户名相同。我正在将文件服务器迁移到Windows,该Windows已绑定到AD,但是权限并没有转移。
我需要做的是将该用户文件夹中的所有目录chown
(takeown
)转移到其AD用户。在* nix中,我将执行以下操作:
cd /home
find * --max-depth 0 -exec chown -R {} {} \;
但是我似乎找不到任何可以使用PowerShell的东西。我得到了90%的访问权限,但最终出现了无法分配所有权等错误,这可能是由于SeRestorePrivilege
,等引起的,但是设置这些值似乎也无济于事。
有没有人有建议,解决方案等?
Windows中的文件所有权与Linux / Unix中的文件所有权无关紧要,因为Windows ACL比传统的Unix权限具有更多的通用性。只需将所有权传递给Administrators组,并向SYSTEM,Administrators组及其所在目录的用户授予完全权限,即可替换现有权限。使用takeown
和icacls
这样做。
Get-ChildItem 'D:\home' -Directory | ForEach-Object {
$path = $_.FullName
$user = $_.Name
& takeown /f "$path" /r /a
& icacls "$path" '/grant:r' 'SYSTEM:(OI)(CI)F' 'Administrators:(OI)(CI)F' "DOMAIN\${user}:(OI)(CI)F"
}
根据需要添加其他用户/组的读取/执行权限。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句