![]() |
назначить нужные права на папки в каталоге
помогите решить такую задачу:
имеем каталог mail в котором лежат почтовые профили вася федя .... дима яна сейчас ntfs права на данные папки(вася, федя) полные для всех. этих папок (профилей почтовых) около 300 штук. требуется для каждой из данных папок раздать полные права для группы администраторов и полные права для соответствующего пользователя т.е. имя папки и есть доменное имя сгодиться любой скрипт, наработка или что то способное упростить данную работу. руками перебирать хватило на 20 профилей |
группа доменных администраторов заранее известна, а пользователя требуется получить на основе имени соответствующей папки
да, и, галочку наследования с данных папок требуется убрать так как после раздачи прав на под-папки для корневой папки mail будут даны права полные для администраторов(группа) и только чтение просмотр всем остальным доменным пользователям(группа) |
Когда-то писал нечто подобное когда из-за изменения имен пользователей перебатонило права. Для админов и для простоюзеров лучше задать права для корневой папки с наследованием, далее (если я правильно понял) имя папки = %username% в домене. т.о. это будет как-то так:
Код:
@echo off что касается (oi)(ci)f то здесь лучше посмотреть icacls /? (указанные параметры я использовал у себя, насколько они подойдут в данной задаче сказать не могу) restore_control_error.log смотрим после того как отработает, некоторые папки пришлось редактировать вручную из-за несоответствия папок именам. это если кого беспокоит вероятность того что права по непонятным причинам могут слететь и/или поломаться от неудачно поставленного чекбокса. Батник пробегается по всей папке с шарами и бэкапит acl. Запускается глубокой ночью из шедулера, ну и работает соответсвенно количеству файлов и папок. Код:
@echo off |
не совсем понял как запускать
пишет Непредвиденное появление: %%a. сохранил в бат запустил в лог выдал процесс не может получить доступ к файлу так как файл занят другим процессом Цитата:
|
batyaPS, сохранить текст как BAT'ник/CMD'шник и запустить. Если запускать из командной строки то заменить %% на %.
Забыл написать в предыдущем посте: батник ориентирован на запуск из папки содержащей папки пользователей, в данном примере: mail\вася\ mail\федя\ mail\дима\ mail\яна\ mail\restore_control.cmd |
Elven, уже понял так и сделал, %username% надо куда вписывать ?
версия icacls.exe важна ? у меня такая 5.2.3790.3959 |
Цитата:
Код:
@echo off версия icacls вроде играть не должна. |
я не понял что он делает, почему то прогоняет по два раза
Цитата:
пользователи в домене присутствуют |
перепроверил несколько раз, папка исправно цепляет права родительской и добавляет права пользователю. в error.log ничего не пишется?
|
Цитата:
хотя файлы 100 процентов ни чем не заняты, так как на макете тренеруюсь |
Цитата:
запускаю кстати на 2003 R2 sp2 сервере x86 права админа есть |
Вложений: 1
Да пожалуйста. К слову сказать этот батник я только на Win7 и 2008r2 запускал, однако сомнения меня не перестают терзать.
|
хм версии отличались, вы мне от 64 битке дали ?
Файл изображения C:\WINDOWS\system32\icacls.exe не поврежден, но предназначен для другого типа компь ютера. Файл изображения C:\WINDOWS\system32\icacls.exe не поврежден, но предназначен для другого типа компь ютера. Для продолжения нажмите любую клавишу . . . заменил exe на свой и скрипт взял вашь processed file: bezgin_ab Successfully processed 1 files; Failed processing 0 files processed file: popow_sn Successfully processed 1 files; Failed processing 0 files Для продолжения нажмите любую клавишу . . . заработало теперь подскажите как всё же убрать наследование ? дело в том, что для всех в папку mail будет доступ чтение, а конкретно к каждому профилю доступ должен быть только у админа и самого пользователя, т.е. остальные даже читать чужие письма не должны. |
не понимаю, вроде бы изначально требовалось всем права на чтение, а админам и владельцу на редактирование. тогда на корневой папке убираем доступ на чтение для всех, оставляем только на траверс и снимаем наследование с этой конкретной группы. Либо есть ключ /inheritance:r, но он снимает ВСЕ наследуемые права (в т.ч. у админов и системы) значит нужно будет их потом дополнительно добавлять.
|
Цитата:
Цитата:
Цитата:
куда прописать данный ключ в нашем примере, и как потом следующей командой раздать заранее известным группам права? т.е. для корневой папки mail будет достаточно одной галочки Обзор папок/Выполнение файлов что бы пользователи нормально работали в своих вложенных папках, но не могли прочитать вложенные папки чужих пользователей ? |
тогда меня всё устраивает.
|
все совершенно правильно. раз устраивает значит хорошо :)
|
не понял что случилось - один раз скрипт отработал и всё.
повторно пытаюсь запустить висит черный экран с курсором и всё, после ожидания пол минуты закрывается. ребутать сервер не вариант, что могло случиться ? эхо офф убрал бесконечно перебирает |
batyaPS, пользуйтесь плз тегом CODE, грустные смайлики в коде просто убивают.
что пишет если просто выполнить из командной строки Код:
icacls bezgin_ab /grant:r corp\bezgin_ab:(oi)(ci)f |
подложил exe рядышком и всё заработало
|
эвоно как, м.б. в средах не прописан путь где icacls находится?
|
Цитата:
в общем свою задачу скрипт отработал, задача выполнена, спасибо за помощь. |
чуть не в тему скрипта конечно, но такой косяк вылез с правами.
в логон скрипте перестала работать такая строчка xcopy \\s680000file\mail\%username%\profiles.ini "%appdata%\thunderbird\" /y если скопировать в cmd пишет файл не найден. хотя если вставить в пуск - выполнить \\s680000file\mail\%username%\profiles.ini то файл открывается. а так же \\s680000file\mail\%username% открывает нужный профиль. если возвращаю полные права пользователем домена на каталог mail то строчка из логон скрипта работает. каких прав не хватает на папке mail для нормальной работы скриптов? выставлял для пользователей только обзор папок получается без содержания папки / чтение данных не работает если галочку поставить то пользователь при желании всё же может подключить себе чужой ящик. выход один - убирать наследование с подпапок. как это сделать скриптом? руками это делается так - убирал галочку соглашался на копирование прав удалял просмотр у группы пользователей. получалось полные права админов и полные права у пользователей. на корне mail остаётся всё же просмотр. |
наверно надо было применять "только к этой папке" на папке mail
это же решение ? верно? |
как-то так.
![]() Хотя по-хорошему копироваться должно и без того копироваться, главное доступ к самой папке пользователя. На создание доступ нужен если профайл пользователя создается автоматически в этой папке. Но по этим вопросам лучше таки в тему с виндами и разрешениями/ |
Elven, должно но не копируется. оставил две галки и применил только к текущей
|
Время: 20:56. |
Время: 20:56.
© OSzone.net 2001-