【事件背景】
客户每个账号在文件服务器上均有一个属于自己的个人共享盘,其他人均无法访问,用户具有该个人共享盘的完全控制权限,
有一天系统日志报错,提示NTFS结构损坏,为客户尝试使用chkdsk /F命令修复之后,发现部分文件夹的权限丢失,造成
用户无法访问,然后尝试使用以下两个工具(CACLS/TAKEOWN)批量为用户添加所有文件夹/文件的权限之后,问题解决。
【问题描述】
1.某天daily check发现共享盘日志报错,提示“磁盘上的文件系统结构损坏,不能使用”,事件代码55。
2.尝试使用修复Chkdsk /F命令修复成功之后,有客户报共享盘上面的很多文件夹无法打开,提示没有权限,经过检查发现客户的子文件夹/文件权限丢失,
即使重新添加主文件夹权限。子文件夹的也无法从主文件继承权限。
【解决方案】
在共享盘内使用以下两个工具可以找回用户的文件夹权限。
1. takeown /f R:\USER_DATA(Y)\ZhangChangWei /a /r /d y
使用该命令必须是域管理员权限账号(例如:administrator),使用该命令式为了将“R:\USER_DATA(Y)\ZhangChangWei ”所有者变为administrator,
这样才能为进行下一步的添加文件夹权限到指定用户。
为当前账号夺取用户主文件夹的“所有者”权限
2. cacls R:\USER_DATA(Y)\ZhangChangWei /T /E /G domain\zhang15:f
#该操作是将“R:\USER_DATA(Y)\ZhangChangWei"文件夹及子文件夹赋予给账号“doamain\zhang15”完全管理权限。
“R:\USER_DATA(Y)\ZhangChangWei”文件夹是zhang15这个账号在服务器上的个人共享盘文件夹,我们用这条命令为zhang15这个账号添加该文件夹在内所有文件的完全管理权限。
关于cacls和takeown的详细用法,大家可以在网上找到,takeown是windows server 2008的内置命令
至此该问题总算解决。