Суббота, 21.12.2024, 17:55
Приветствую Вас Гость | RSS
Главная | Каталог статей | Регистрация | Вход
Меню сайта
Категории раздела
Разное [2]
Linux [17]
Windows [4]
Поиск
Облако тегов
Rdesktop RDP Active Directory Free Freeware mail server mail client Manitou-mail linux cluster GlusterFS ubuntu Сеть file system crypt LUKS шифрование Samba CIFS anonymous Windows e-mail hMailServer Mercury/32 mail Postfix PostfixAdmin CIM Pegasus WBEM WMI acl Owner subinacl PostgreSQL DBMail VirtualBox DRBD OCFS2 zimbra Zarafa email GroupOffice WebMail
Block title
[14.06.2010][Windows]
Полезный софт под Windows (0)
[09.11.2011][Linux]
Кластер Active/Active на DRBD и OCFS2 (0)
[16.08.2010][Linux]
Анонимная шара Samba (0)
[17.12.2010][Разное]
Полезности для PostgreSQL (0)
[18.05.2011][Linux]
Инструменты работы с SQLite под Linux (1)
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Block title
Продажа компьютеров и ноутбуков, прайс лист на комплектующие. периферия, мониторы, расходные материалы
Записки админа
Главная » Статьи » Windows

Смена владельца файлов / папок в Windows 2003

Смена владельца файлов / папок в Windows 2003


  Потребовалось мне как-то перенести пользовательские папки в другое место (на другой сервер). А так, как изначально это делалось очень давно, кое как и не мной, то с правами на эти самые папки был самый настоящий бардак. Ну и раз уж приходится за это браться, захотелось сразу все сделать "правильно", т.е. чтобы доступ был только у владельца папки и группы администраторов.
  В Windows изначально нет инструментов для смены владельца файлов/каталогов из командной строки (по крайней мере, я не нашел. Cacls меняет только права доступа, а не владельца). По этому пришлось воспользоваться одной из программ из состава Windows Resource Kit, а именно - subinacl. (cкачать отдельно subinacl в виде msi-пакета можно отсюда).
  Она является значительно более продвинутым аналогом cacls. С её помощью можно не только менять разрешения на папки/файлы, но и работать с такими типами объектов, как реестр, принтеры, общие папки и т.д., менять владельца, осуществлять смену домена и многое другое. Чтобы можно было бегло ознакомиться с её возможностями, достаточно запустить команду с параметром /help.
  В моем случае вызов программы выглядел так:

     subinacl /subdirectories КАТАЛОГ /setowner=ПОЛЬЗОВАТЕЛЬ

  Однако, в таком виде менялись владельцы только самих каталогов, а для смены владельцев подкаталогов и файлов потребовался повторный вызов со следующими параметрами:

     subinacl /subdirectories КАТАЛОГ/*.* /setowner=ПОЛЬЗОВАТЕЛЬ

  Так, как папки были назначены через AD, при создании пользователя создавалась папка вида %USERNAME%, т.е. её название соответствовало пользовательскому имени. Это значительно упростило задачу.
  Для этого я написал простенький батник:

@REM Смена владельцев каталогов
FOR /F "eol="" "" tokens=1,2" %%i in ('dir /ad /b') DO subinacl /subdirectories %%i /setowner=%%i@domain.local
@REM Смена владельцев подкаталогов и файлов
FOR /F "eol="" "" tokens=1,2" %%i in ('dir /ad /b') DO subinacl /subdirectories %%i /setowner=%%i@domain.local


  Наверняка можно было сделать все в одну команду, но т.к. задача таким образом была решена, я уже не стал заморачиваться дальше.
Категория: Windows | Добавил: Admin (09.11.2010)
Просмотров: 6225 | Комментарии: 2 | Теги: Owner, acl, Windows, subinacl | Рейтинг: 0.0/0
Всего комментариев: 2
1 Vla-DOS  
0
Помогите пожалуйста, subinacl не читает аккаунт на кирилице- есть ли варианты? исправления? или аналог subinacl... очень надо- как воздух. спасибо за ответ.

Буду БЛАГОДАРЕН!
Владислав

2 Admin  
0
Заранее извиняюсь что отвечаю с такой большой задержкой - только вернулся из отпуска...
Итак, если я правильно понял, у Вас проблема с русскими именами пользователей. Специально для тестов завел пользователя "Вася.Пупкин" и проверил смену владельца - у меня всё работает...
Code

H:\Users\Вася.Пупкин>subinacl /subdirectories H:\Users\Вася.Пупкин /setowner=Вася.Пупкин@domain.local
H:\Users\Вася.Пупкин : Вася.Пупкин@domain.local is the new owner
H:\Users\Вася.Пупкин : 1 change(s)
...


PS. Если не ошибаюсь, был один нюанс пока я игрался с этой тулзой - что-то не срабатывало так, как надо (увы, уже не помню что именно) и необходимо было скачать обновлённую версию с сайта мелкософта (ссылка на отдельный msi-пакет есть в начале заметки).
Тесты я проводил с версией 5.2.3790.1180

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Сделать бесплатный сайт с uCozCopyright MyCorp © 2024