Войти

Показать полную графическую версию : [решено] Установка прав NTFS


jakv
23-01-2011, 17:00
HfWindows XP SP3 Pro Ru
С помощью графического интерфейса на папку u1\w установлены следующие права

D:\tmp\sl>cacls u1\w
D:\tmp\sl\u1\w jak-PC\utest1:(OI)(CI)(IO)(специальный доступ:)
SYNCHRONIZE
FILE_WRITE_DATA
FILE_APPEND_DATA
FILE_WRITE_EA
FILE_WRITE_ATTRIBUTES

jak-PC\utest1:(OI)(CI)(ID)R
BUILTIN\Администраторы:(OI)(CI)(ID)F

Как выполнить обратное, т.е. из командной строки(без VBS) усстановить для пользователя права на папку указанные выше

amel27
24-01-2011, 12:16
У меня при наборе скобки, а насайте вместо них смайлики »
обрамляйте результат вывода тегами CODE

jakv
24-01-2011, 18:45
обрамляйте результат вывода тегами CODE »
Спасибо, исправил

amel27
25-01-2011, 08:08
а что значит сокращение "(ID)" ?
мне его не удалось воспроизвести, а в справке про него ничего не сказано

Ivan Bardeen
25-01-2011, 11:33
а что значит сокращение "(ID)" ? »
ACE унаследована от родителя
jakv,
1. С интересующей вас папки делаете вывод DACL команды cacls в виде SDDL например:
caals d:\temp\1 /S
вывод будет приблизительно такой:
D:PAI(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;BU)(A;CI;0x100006;;;BU)
2. Если нужно установить права на папку то выполните команду
cacls d:\temp\1 /S:D:PAI(A;OICI;FA;;;BA)(A;OICI;FA;;;SY)(A;OICI;0x1200a9;;;BU)(A;CI;0x100006;;;BU)

Busla
25-01-2011, 11:42
amel27, jakv, cacls /?

Petya V4sechkin
25-01-2011, 11:47
Ivan Bardeen, к сожалению, в XP у команды Cacls нет опции /S (она появилась начиная с Vista).

jakv, можно воспользоваться SubInACL (http://www.microsoft.com/downloads/details.aspx?FamilyID=E8BA3E56-D8FE-4A91-93CF-ED6985E3927B&displaylang=en), пример в теме
[решено] Резервирование NTFS разрешений (http://forum.oszone.net/thread-150395.html)

amel27
25-01-2011, 12:28
или через локальную политику...
учитывая, что тут наследуются все ACE кроме одной:
@echo off

set $UserName=utest1
set $DirPath=%SystemDrive%\tmp\sl\u1\w

(for /f "tokens=1-3" %%i in ('"wmic UserAccount Where LocalAccount=True Get Name,SID,Status|FindStr/IBRC:"%$UserName% *S-""') do @(
echo [Unicode]
echo Unicode=no
echo [Version]
echo signature="$CHICAGO$"
echo Revision=1
echo [File Security]
echo "%$DirPath%",0,"D:AR(A;OICIIO;0x100116;;;%%j)"
))>"%TEMP%\%~n0.inf"

SecEdit /Configure /cfg "%TEMP%\%~n0.inf" /db secsetup.sdb /Verbose

cacls /?»следующий код выдает пусто на XP/2003:
cacls /?|find "ID"

jakv
26-01-2011, 20:45
К сожелению я ввел колег в некоторое недоумение
С компа ХР нет выхода на инет и я привел пример с семерки, поэтому появился "ID"
В настоящий момент опять нет доступа к ХР
завтра попробую SubInACL,
С локальной политикой пока не врубился
всем спасибо, результаты позже

делаете вывод DACL команды cacls в виде SDDL например »
а где можно поподробнее почитать про SDDL?

Ivan Bardeen
26-01-2011, 22:06
а где можно поподробнее почитать про SDDL? »
Security Descriptor Definition Language
Например здесь http://msdn.microsoft.com/en-us/library/aa379567(v=vs.85).aspx

amel27
27-01-2011, 04:43
С локальной политикой пока не врубился »создаётся INF-файл следующего содержания:
[Unicode]
Unicode=no
[Version]
signature="$CHICAGO$"
Revision=1
[File Security]
"C:\tmp\sl\u1\w",0,"D:AR(A;OICIIO;0x100116;;;S-1-5-21-1432049029-249115387-3319459406-1004)"
...который потом применяется через SecEdit, обсуждалось тут:

[решено] Автоматически изменить права группы "опытные пользователи"? (http://forum.oszone.net/showthread.php?p=1239869)
VBS/WSH/JS - [решено] User Rights Assignment через (http://forum.oszone.net/showthread.php?p=1090993)

jakv
28-01-2011, 10:18
создаётся INF-файл следующего содержания: »
это понятно, не понял откуда я беру значения A;OICIIO;0x100116 »
В целом тему можно считать решенной Пока остановился на SubInACL, но почитаю ссылки
Всем спасибо

amel27
28-01-2011, 10:39
не понял откуда я беру значения »всё делается в ГУИ оснастки MMC "шаблоны безопасности"

jakv
29-01-2011, 18:25
будем посмотреть




© OSzone.net 2001-2012