Кто-то изменил разрешения на куче машин, используя cacls, которые исправили одну проблему, но создали большую. Я ищу способы исправить это, но, похоже, не могу вернуть его к тому, что было.
Я скопировал с помощью тестовой машины, и результат ниже. Я использовал subinacl, чтобы получить вывод.
Изменение сделано с помощью:
ECHO Y|CACLS C:\APPSYS /t /e /p User1:F
Причина, по которой были изменены разрешения, заключалась в том, что некоторые файлы были добавлены кем-то, вошедшим в систему как администратор, и пользователям также требовался полный доступ. Я все еще хотел бы знать безопасный способ добавить usergroup1 к этим файлам, не мешая другим, которые не нуждаются в изменении. Это не статический список файлов, некоторые машины имеют только 1 или 2 файла, другие имеют 20-50 файлов, для которых user1 требует полного контроля, но не имеет разрешений.
Перед запуском ECHO "Y | CACLS C:\APPSYS /t /e /p User1:F"
====================
+File C:\APPSYS\BIN
====================
/control=0x400
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =8
/pace =PC1125230\USERGROUP1 Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =builtin\administrators Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =system Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =PC1125230\ORGUSER Type=0x0 Flags=0x10 AccessMask=0x1f01ff
/pace =creator owner Type=0x0 Flags=0x1b AccessMask=0x10000000
/pace =builtin\users Type=0x0 Flags=0x13 AccessMask=0x1200a9
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x4
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x2
=============================
+File C:\APPSYS\ERROR.LOG
=============================
/control=0x0
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =0
После запуска ECHO "Y | CACLS C:\APPSYS /t /e /p User1:F"
====================
+File C:\APPSYS\BIN
====================
/control=0x0
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =9
/pace =PC1125230\User1 Type=0x0 Flags=0x3 AccessMask=0x1f01ff
/pace =PC1125230\USERGROUP1 Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =builtin\administrators Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =system Type=0x0 Flags=0x13 AccessMask=0x1f01ff
/pace =PC1125230\ORGUSER Type=0x0 Flags=0x10 AccessMask=0x1f01ff
/pace =creator owner Type=0x0 Flags=0x1b AccessMask=0x10000000
/pace =builtin\users Type=0x0 Flags=0x13 AccessMask=0x1200a9
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x4
/pace =builtin\users Type=0x0 Flags=0x12 AccessMask=0x2
=============================
+File C:\APPSYS\ERROR.LOG
=============================
/control=0x0
/owner =PC1125230\ORGUSER
/primary group =PC1125230\none
/audit ace count =0
/perm. ace count =1
/pace =PC1125230\User1 Type=0x0 Flags=0x0 AccessMask=0x1f01ff
Есть много файлов и папок, которые уникальны для разных машин, поэтому я пытаюсь найти метод, который работает на них всех без указания каждого конкретного файла.
Я использовал subinacl для предоставления группам пользователей, которым, например, запрещен доступ к файлу ERROR.LOG, и ко всем файлам и папкам в папке APPSYS, потому что было много проблем с сбоями приложений. Это решило эту проблему, но я беспокоюсь о продолжительном эффекте изменений, сделанных по сравнению с исходными настройками.
Прежде чем использовать метод subinacl для предоставления разрешений, я попытался удалить разрешение User1, но снова ERROR.LOG не возвращается к тому, что было разрешением. Я пробовал подавлять также с тем же результатом без разницы. Я попытался с помощью тестового устройства сделать резервную копию перед запуском команды cacls, а затем восстановить резервную копию с помощью subinacl, но она не восстановилась должным образом из того, что я вижу, "/pace = builtin\users Type = 0x0 Flags = 0x12 AccessMask = 0x4 "был удален из ACL.
У меня нет опыта работы с дескрипторами безопасности, так что извините, если это до боли очевидно или я оставил детали. Я провел последние 5 дней и ночей, читая, что я могу выяснить, что пошло не так и как исправить это с помощью пакетного процесса.
Я ограничен базовыми сценариями (windows xp pro) vb, я могу использовать инструменты из набора ресурсов и, в некоторой степени, сторонние утилиты, но опять-таки придется использовать пакетные сценарии.