Accesschk: "Ошибка при перечислении прав учетной записи: доступ запрещен"
В настоящее время я устраняю проблему с установкой SQL 2008 R2 на Server 2012 R2 (не волнуйтесь, я знаю, что это EOL, это временно). У меня возникла проблема с установкой, из-за которой возникает ошибка "Отказано в доступе" и / или ошибка, указывающая на то, что имя пользователя / пароль для учетной записи агента SQL или службы SQL недействительно.
Я предполагаю, что проблема связана с настройками безопасности, которые я импортировал из объектов групповой политики DISA STIG (https://public.cyber.mil/stigs/gpo/). Я вернулся к различным настройкам и пытаюсь устранить неполадки в политике назначения прав пользователя.
Я удостоверился, что следующие разрешения на месте (от https://docs.microsoft.com/en-us/previous-versions/sql/sql-server-2008-r2/ms143504%28v%3Dsql.105%29):
- Сервисная учетная запись является администратором
- Войти как сервис (SeServiceLogonRight)
- Заменить токен уровня процесса (SeAssignPrimaryTokenPrivilege)
- Обход проверки хода (SeChangeNotifyPrivilege)
- Настройте квоты памяти для процесса (SeIncreaseQuotaPrivilege)
Я обнаружил следующие разрешения на добавление и проверил их (согласно https://social.msdn.microsoft.com/Forums/en-US/e4ac077f-b0d3-4e02-a54a-c0328aeb222c/sql-sp3-install-fails-setup-account-privileges-failed?forum=sqlsetupandupgrade):
- Резервное копирование файлов и каталогов (SeBackupPrivilege)
- Отладка программ (SeDebugPrivilege)
Несмотря на все это, SQL Server не будет установлен с учетной записью службы. Попытка использовать сетевой сервис вместо этого приводит к
SQL Ошибка установки результата "-2061893608"
TL;DR:
Помимо предыстории, я нашел несколько сообщений на форуме, которые рекомендуют использовать утилиту Accesschk.exe от SysInternals. Я заметил, что когда я запускаю его в общем accesschk.exe -a *
Я получаю список разрешений и какие группы имеют их. Однако, если я запускаю инструмент против учетной записи accesschk.exe domain\user -a *
Я получаю сообщение об ошибке:
Ошибка перечисления прав учетной записи: доступ запрещен.
Та же команда, запущенная на более старом сервере, не имеет такой же проблемы и успешно сообщает о разрешениях этого пользователя. Теперь я нахожусь в проблеме, где инструмент, который я использую для устранения неполадок, также должен быть устранен. Два сервера получают разные объекты групповой политики и находятся на разных сайтах AD с разными контроллерами домена с разными объектами групповой политики.
Я еще не нашел никакой информации в Интернете об ошибке "доступ запрещен" в отношении средства accesschk и что может быть причиной этого. Я запускаю команду с той же учетной записью, которая имеет права доступа AD и права администратора на компьютере.
Бег whoami /priv
возвращает разрешения успешно, как и secedit /export /mergedpolicy /areas USER_RIGHTS /cfg out.txt
за этот пост: https://superuser.com/questions/1065000/how-to-list-windows-privileges-for-any-user
У меня были подозрения, что DC не работает должным образом, поэтому в настоящее время я занимаюсь демо-продвижением и повторным продвижением DC на новом сайте. Скоро я также буду тестировать новый сервер в старых OU/GPO.
Все это очень много, чтобы распаковать, но если кто-то может хотя бы ответить на ошибку Accesschk, я был бы признателен. Бонусные баллы, если вы знаете, почему SQL не будет установлен.