Доступ файла/папки Windows 2008

Когда я программировал в МН Oracle / SQL, у нас была программа "слушателя" для генерации вывода отчета на сервере, на основе клиентского запроса.

Это был frankenstein, связывают веревкой различных sql сценариев, 1 000 сценариев оболочки C строки, объектов канала Unix и задания крона. Задание крона запускало бы c скрипт каждые 5 секунд или так, который запустит скрипт SQL, для опроса таблицы относительно записей, которые передали бы значение stdout. Сценарий затем запустил бы программу на основе деталей и параметров, вставленных в таблицу.

Все это было безумно сложно и было первоначально записано обратно в начале 80-х.

В конечном счете мы получили клиента, который хотел запустить наше приложение на NT вместо Unix, таким образом, нам удалось получить его работающий в коммерческом варианте cygwin (а не reingineer целая путаница.)

0
задан 14 April 2011 в 05:11
1 ответ

Нет никакого "ярлыка" способа сделать то, что Вы ищете. Вы собираетесь определить местоположение всех корней наследования разрешения в Ваших различных иерархиях папок и применить "New Group / Изменение" разрешение к тем иерархиям.

Я предполагаю, что кто-то мог записать что-то для поиска всех папок, где наследование заблокировано, и автоматически примените это изменение разрешения, но я не знаю ни о каком подобном инструменте первое, что пришло на ум.

Править:

Сценарий ниже желания (очень упрощенным способом, и вероятно не 100% надежно) определяет местоположение вершины иерархий разрешения с помощью icacls инструмент. Укажите начальный каталог на командной строке.

(Сценарий просто ищет DACLs на файлах, которые имеют SE_DACL_PROTECTED набор флага, на http://msdn.microsoft.com/en-us/library/aa379570 (v=vs.85) .aspx).

@echo off
if "%~1"=="" goto end

SET TEMPFILE="%TEMP%\%RANDOM%.txt"

for /D %%i in ("%~1\*") do (
 icacls "%%i" /save %TEMPFILE% >NUL 2>NUL
 find "D:P" %TEMPFILE% >NUL 2>NUL
 if errorlevel 1 del %TEMPFILE%
 if exist %TEMPFILE% echo Top of permission hierarchy: %%i
 if exist %TEMPFILE% del %TEMPFILE%
 call "%0" "%%i"
)

:end

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

1
ответ дан 23 November 2019 в 12:30

Теги

Похожие вопросы