Войти

Показать полную графическую версию : Как предоставить/отменить доступ к папке для определенного пользователя?


Vitaly_Sigov
08-07-2010, 10:19
Здравствуйте, уважаемые форумчане.
Подскажите, пожалуйста, каким образом через BAT-файл или какой-нибудь скрипт предоставить/отменить доступ к некоторой папке для некоторого пользователя?
Т.е. есть расшаренная по сети папка - в ней куча простых папок. Вопрос:как предоставить/отменить доступ к некоторой из этих простых папок для некоторого пользователя ?

zonderz
08-07-2010, 10:35
используйте утилиты cacls (xcacls, subinacl)

deepred
08-07-2010, 10:44
cacls.exe
cacls "disk:\dir" /E /G user:F - пользователю user предоставлен полный доступ к папке"disk:\dir".
и наоборот,
cacls "disk:\dir" /E /R user - пользователь user стал бесправным...
------------------------------------------------------------------------------------------------------------------------------------------------------
..., но как выдает CMD на cacls /? - "утилита считается устаревшей используйте icacls".
Справка:
cacls /?
icacls /?
technet (http://technet.microsoft.com/ru-ru/library/cc726004(WS.10).aspx)
microsoft (http://support.microsoft.com/kb/919240/en-us)
support.microsoft (http://support.microsoft.com/kb/825751/)
+bonus:
Программа AccessEnum (http://technet.microsoft.com/ru-ru/sysinternals/bb897332.aspx)
Программа ShareEnum v1.6 (http://technet.microsoft.com/ru-ru/sysinternals/bb897442.aspx)
Программа PsFile v1.02 (http://technet.microsoft.com/ru-ru/sysinternals/bb897552.aspx)
Программа FileMon (http://technet.microsoft.com/ru-ru/sysinternals/bb896642.aspx)

NiOl
08-07-2010, 16:21
..., но как выдает CMD на cacls /? - "утилита считается устаревшей используйте icacls". »

XP вообще не знает icacls, это может в более свежих операционках? ;)

deepred
08-07-2010, 17:35
Да, WinXP такой не знает, но Win2003(8)Serv, WinVista и Win7 уже содержат её, что есть "+".

Утилита гораздо функциональнее и удобнее, не хочу заниматься "размазыванием темы", но приведу её "/?":

AD-activeX:\Sysroot\system32>icacls /?
...
ICACLS name /save ACL-файл [/T] [/C] [/L] [/Q]
сохранить ACL для всех соответствующих имен в ACL-файле для
последующего использования с командой /restore.

ICACLS directory [/substitute SidOld SidNew [...]] /restore ACL-файл
[/C] [/L] [/Q]
применяет сохраненные ACL к файлам в папке.

ICACLS name /setowner пользователь [/T] [/C] [/L] [/Q]
изменяет владельца всех соответствующих имен.

ICACLS name /findsid Sid [/T] [/C] [/L] [/Q]
находит все соответствующие имена, которые включают в себя ACL,
явно содержащие данный Sid.

ICACLS name /verify [/T] [/C] [/L] [/Q]
находит все файлы, чьи ACL не являются каноническими или длина которых
не соответствует количеству ACE.

ICACLS name /reset [/T] [/C] [/L] [/Q]
заменяет ACL унаследованными по умолчанию ACL для всех соответствующих файлов

ICACLS name [/grant[:r] Sid:perm[...]]
[/deny Sid:perm [...]]
[/remove[:g|:d]] Sid[...]] [/T] [/C] [/L] [/Q]
[/setintegritylevel Level:policy[...]]

/grant[:r] Sid:perm предоставляет указанному пользователю права доступа. При использо
вании :r
эти права заменяют любые ранее предоставленные явные разрешения.
Если :r не используется, разрешения добавляются
к любым ранее предоставленным явным разрешениям.

/deny Sid:perm явно отклоняет права доступа для указанного пользователя.
ACE явного отклонения добавляется для заявленных разрешений, и любое
явное предоставление этих же разрешений удаляется.

/remove[:[g|d]] Sid удаляет все вхождения Sid в ACL. C
:g, удаляет все вхождения предоставленных прав в этом Sid. C
:d удаляет все вхождения отклоненных прав в этом Sid.

/setintegritylevel [(CI)(OI)]Level явно добавляет ACE уровня целостности
ко всем соответствующим файлам. Уровень может принимать одно из следующих
значений:
L[ow] - низкий
M[edium] - средний
H[igh] - высокий
Параметры наследования для ACE целостности могут предшествовать
уровню и применяются только к папкам.

/inheritance:e|d|r
e - включение наследования
d - отключение наследования и копирование ACE
r - удаление всех унаследованных ACE

Примечание
....
Sid могут быть представлены либо в числовой форме, либо в форме понятного имени. Если
задана числовая
форма, добавьте * в начало SID.

/T означает, что это действие выполняется над всеми соответствующими
файлами и папками ниже уровня папок, указанных в имени.

/C указывает, что это действие будет продолжено при всех ошибках файла.
Однако сообщения об ошибках будут выводиться на экран.

/L означает, что это действие выполняется над самой символической ссылкой,
а не над ее целью.

/Q означает, что команда ICACLS подавляет сообщения об успешном выполнении.

ICACLS сохраняет канонический порядок записей ACE:
Явные отклонения
Явные предоставления
Унаследованные отклонения
Унаследованные предоставления

perm - это маска разрешений, она может быть указана в одной из двух форм:
последовательность простых прав:
F - полный доступ
M - доступ на изменение
RX - доступ на чтение и выполнение
R - доступ только на чтение
W - доступ только на запись
в скобках список определенных прав, разделенных запятыми:
D - удаление
RC - чтение
WDAC - запись DAC
WO - смена владельца
S - синхронизация
AS - доступ к безопасности системы
MA - максимально возможный
GR - общее чтение
GW - общая запись
GE - общее выполнение
GA - все общие
RD - чтение данных, перечисление содержимого папки
WD - запись данных, создание файлов
AD - добавление данных, создание папок
REA - чтение дополнительных атрибутов
WEA - запись дополнительных атрибутов
X - выполнение файлов и обзор папок
DC - удаление вложенных объектов
RA - чтение атрибутов
WA - запись атрибутов
права наследования могут предшествовать любой форме и применяются
только к папкам:
(OI) - наследуют объекты
(CI) - наследуют контейнеры
(IO) - только наследование
(NP) - не распространять наследование

Примеры:

icacls c:\windows\* /save AclFile /T
- в файле AclFile будут сохранены ACL для всех файлов папки c:\windows
и ее подкаталогов.

icacls c:\windows\ /restore AclFile
- из файла AclFile будут восстановлены Acl для каждого файла,
существующего в папке c:\windows и ее подкаталогах

icacls file /grant Administrator:(D,WDAC)
- пользователю Administrator будут предоставлены разрешения на удаление
и запись DAC для файла

icacls file /grant *S-1-1-0:(D,WDAC)
- пользователю с sid S-1-1-0 будут предоставлены разрешения
на удаление и запись DAC для файла


+ несколько полезных ссылок:
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/cacls.mspx?mfr=true
http://technet.microsoft.com/en-us/magazine/2009.07.geekofalltrades.aspx
http://technet.microsoft.com/en-us/library/cc753525(WS.10).aspx
http://support.microsoft.com/kb/825751/
SubInACL (http://www.microsoft.com/downloads/details.aspx?FamilyID=e8ba3e56-d8fe-4a91-93cf-ed6985e3927b&displaylang=en)




© OSzone.net 2001-2012