Тем, кто имеет небольшой домашний опыт, задача - дать пользователю permissions (разрешения) на папочку - может показаться не такой уж сложной.
Но что, если означенная папочка громадна и содержит десятки/сотни тысяч файлов.
А в добавок вы не имеете доступа к самой папочке и подпапочкам. Да к тому же, все это хозяйство находится на файлере (например, Netapp Storage), который прикидывается Windows 2000. И permissions подпорчены одним умелым сисадмином, который однажды дал их сам себе, не подумав о других администраторах.
Уже веселее?
Итак, что нужно сделать первым делом? Конечно, дать себе самому ownership.
Как? Из GUI - не вариант, поскольку придется много тысяч раз кликать мышкой для подтверждения. Ну, разве что, вы хотите развить мускулатуру указательного пальца правой руки или же вам по приколу получить преждевременного Паркинсона.
Для этого существует команда Takeown (а также некоторые другие, например, iCacls с соответствующим параметром).
Takeown /f "\\Netapp\Documents\*" /r /d Y
/f - force
/r - recursive
/d Y - отвечать Yes на все вопросы
* - все папки и файлы под папкой "Documents".
Теперь у вас есть разрешения давать разрешения!
Если до этого момента все удалось, можно применить команду iCacls.
iCacls /f "\\Netapp\Documents\*" /grant "domain\user":(OI)(CI)M /T /C /Q
Все бы хорошо, но проблема в том, что в сложных случаях гладкий результат не всегда гарантирован, несмотря на все ухищрения. Здесь и Access Denied
и слишком многоуровневые вложения папок в папки, превышающие 255 символов, и другие проблемы.
вы можете получить неожиданное сообщение:
Error: the data area passed to a system call is to small
Есть шанс, что более сильным инструментом является SubInACL.
Пример:
First we took the root folder ownership using following
subinacl /file “PATH” /setowner=AdministratorsLater we use following switches to take the ownership on all subfolders & files.
subinacl /subdirectories “PATH*.*” /setowner=Administrators
После детальной проверки, я сообщу вам о полученных результатах.
Существуют также GUI инструменты, которые любят многие администраторы, например бесплатный TakeOwnershipPro:
https://www.top-password.com/take-ownership-pro.html
Программа делает только одно дело - дает вам Ownership, но зато делает это неплохо:
сетевые shares ей под силу и она не затыкается даже на очень больших директориях
Reset NTFS file permissions
More developed program is NTFS Permissions Tools_1.16_Beta from Chinese programmer.
Но, если ваша фирма Enterprise, она может не доверять бесплатным инструментам, которые не дают никакой гарантии исправной работы, и фирме, возможно, придется раскошелиться на покупку платного инструмента посторонней фирмы, например, Security Explorer фирмы Quest или ADManager Plus фирмы ManageEngine:
https://www.manageengine.com/products/ad-manager/active-directory-ntfs-permissions-management.html
Но что, если означенная папочка громадна и содержит десятки/сотни тысяч файлов.
А в добавок вы не имеете доступа к самой папочке и подпапочкам. Да к тому же, все это хозяйство находится на файлере (например, Netapp Storage), который прикидывается Windows 2000. И permissions подпорчены одним умелым сисадмином, который однажды дал их сам себе, не подумав о других администраторах.
Уже веселее?
Итак, что нужно сделать первым делом? Конечно, дать себе самому ownership.
Как? Из GUI - не вариант, поскольку придется много тысяч раз кликать мышкой для подтверждения. Ну, разве что, вы хотите развить мускулатуру указательного пальца правой руки или же вам по приколу получить преждевременного Паркинсона.
Для этого существует команда Takeown (а также некоторые другие, например, iCacls с соответствующим параметром).
Takeown /f "\\Netapp\Documents\*" /r /d Y
/f - force
/r - recursive
/d Y - отвечать Yes на все вопросы
* - все папки и файлы под папкой "Documents".
Теперь у вас есть разрешения давать разрешения!
Если до этого момента все удалось, можно применить команду iCacls.
iCacls /f "\\Netapp\Documents\*" /grant "domain\user":(OI)(CI)M /T /C /Q
Все бы хорошо, но проблема в том, что в сложных случаях гладкий результат не всегда гарантирован, несмотря на все ухищрения. Здесь и Access Denied
и слишком многоуровневые вложения папок в папки, превышающие 255 символов, и другие проблемы.
Например, после положительного ответа на запрос системы после выполнения Takeown
вы можете получить неожиданное сообщение:
Error: the data area passed to a system call is to small
Есть шанс, что более сильным инструментом является SubInACL.
Пример:
First we took the root folder ownership using following
subinacl /file “PATH” /setowner=AdministratorsLater we use following switches to take the ownership on all subfolders & files.
subinacl /subdirectories “PATH*.*” /setowner=Administrators
После детальной проверки, я сообщу вам о полученных результатах.
Существуют также GUI инструменты, которые любят многие администраторы, например бесплатный TakeOwnershipPro:
https://www.top-password.com/take-ownership-pro.html
Программа делает только одно дело - дает вам Ownership, но зато делает это неплохо:
сетевые shares ей под силу и она не затыкается даже на очень больших директориях
Reset NTFS file permissions
More developed program is NTFS Permissions Tools_1.16_Beta from Chinese programmer.
Но, если ваша фирма Enterprise, она может не доверять бесплатным инструментам, которые не дают никакой гарантии исправной работы, и фирме, возможно, придется раскошелиться на покупку платного инструмента посторонней фирмы, например, Security Explorer фирмы Quest или ADManager Plus фирмы ManageEngine:
https://www.manageengine.com/products/ad-manager/active-directory-ntfs-permissions-management.html
Комментариев нет:
Отправить комментарий