Назад | Перейти на главную страницу

net user / domain возвращает ошибку 5 - доступ запрещен

У меня есть домен, в котором ACL по умолчанию были изменены для всех пользовательских и компьютерных объектов и Режим списка объектов (Перечисление на основе доступа для объектов каталога) было включено. В частности, разрешение «Все: чтение» было удалено из списка для большинства объектов каталога, поэтому пользователи не могут читать «посторонние» объекты в соответствии с политикой защиты конфиденциальности.

В этом созвездии клиент приложения (на основе Фреймворк UniPaas если это имеет значение) пытается прочитать членство в группах определенного пользователя и по неизвестной причине терпит неудачу. От производителя программного обеспечения мы получили простой тестовый пример, в котором net user %USERNAME% /domain выдает ошибку 5 - Доступ запрещен в этой инфраструктуре. Сетевые протоколы net use используется, и то, как он выходит из строя, соответствует тому, что мы наблюдаем, когда собираем сетевые трассировки приложения.

Сейчас я в некоторой степени растерялся, так как ничего не знаю о внутреннем устройстве net user вызов (особенно, какой API он использует для чтения атрибутов и какое разрешение у пользователя должно быть для их получения). Как мне начать отладку этого?

Изменить: одна вещь, которую я придумал, - это запустить Wireshark для записи сетевого трафика, вызванного net user %username% /domain вызов. Все выглядит хорошо до момента, когда для домена BUILTIN (S-1-5-32) выдается вызов SAMR OpenDomain, который возвращает STATUS_ACCESS_DENIED, после чего все соединения разрываются. Видеть пакеты 33 и 34 в этой трассировке pcap. Похоже, это причина В доступе отказано ответ от net user, хотя я понятия не имею, что здесь не так.

Похоже, вам каким-то образом удалось предотвратить перечисление builtin группы. Который net user звонок открывает соединения с двумя доменами как часть своей операции:

  1. К вашему домену AD на основе SID домена.
  2. В домен BUILTIN на основе широко известный SID для этого (С-1-5-32).

Большинство запросов выполняется к первому соединению, один проходит через второе. Этот пропуск превращается $YOURDOMAIN\Domain Users в широко известный принцип BUILTIN\Domain Users (S-1-5-32-545), которые система знает, как обращаться с ними. Когда соединение с доменом BUILTIN отклоняется, весь вызов завершается ошибкой.

Проверьте разрешения для Builtin Контейнер AD в вашем доменном дереве - он должен иметь "Authenticated Users:Read" ACE. Также перечисление Builtin контейнер должен быть разрешен - Authenticated Users:Read ACE для верхнего уровня домена тоже должен позаботиться об этом.

На прошлой неделе у нас была аналогичная проблема. В итоге это была настройка gpo на наших контроллерах домена.

GPO: Конфигурация компьютера \ Параметры Windows \ Параметры безопасности \ Локальные политики \ Параметры безопасности - Доступ к сети: ограничение клиентов, которым разрешено совершать удаленные вызовы в SAM.

Он был включен, и нам пришлось его удалить.