PDA

Показать полную графическую версию : Удаление и создание папки с определенными правами на эту папку


Mans2k
29-01-2013, 13:45
Здравствуйте!
Ситуация такова. Имеется расшаренная папка, к ней настроен определенный доступ. К примеру, полный доступ у админов, полный доступ у руководства и чтение у бухгалтерии. Необходимо очистить эту папку сохранив заранее заданные разрешения на эту папку. В данном случае я представил, как удалить целевую папку. Потом создать ее и заново назначить права.

Попробовал сделать так:


@echo off
icacls e:\share /save e:\share.acl /C /Q
rd e:\share /s /q
md e:\share
icacls e:\share /restore e:\share.acl

Вроде бы все просто. Делаем слепок прав доступа, удаляем папку, создаем папку, добавляем права.
Но есть жирное НО. Это происходит для файлов и подпапок в e:\share, а не для самой папки "share".

Как сделать так, чтобы запоминались права для папки "share" и заново назначались?

Копать icacls на параметр /grant:r Sid:параметры - не вариант, слишком много сидов, чтобы каждую описывать отдельно :) Да и один фиг у меня почему-то все равно права даются на файлы и подпапки.

Что самое интересное, с помощью старой команды cacls получилось назначить права на папку группе или пользователю. К примеру:

cacls e:\share /e /g ВСЕ:F
А с icacls все равно чудеса, он упорно пытается назначит права файлам и подпапкам.
Соответственно, думаю, что в этом и проблема создания слепка прав и обратное их назначение, что у меня icacls пытается работать с файлами и подпапками, а не с самой целевой папкой.

Petya V4sechkin
29-01-2013, 16:59
очистить эту папку
Можно обойтись без возни с разрешениями:
@Echo Off
PushD e:\share
RD /S /Q e:\share 2>nul
PopD




© OSzone.net 2001-2012