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

Active Directory: доступ к сетевому ресурсу как пользователь WinXP SYSTEM

Эта проблема:

Я не могу получить доступ к Domain Computers-доступный сетевой ресурс для процесса, работающего в Windows XP как SYSTEM учетная запись.

У меня есть домен 2008R2, файловый сервер 2003R2 и набор клиентов.

На файловом сервере я сделал общий ресурс доступным для Domain Computers группа. Общий ресурс должен содержать репозиторий файлов только для чтения (Wpkg) для доступа с рабочих станций домена через системную службу (Wpkg-GP) под управлением SYSTEM пользователь.

Теперь проблема в том, что, хотя он отлично работает в Windows 7, он полностью не работает в Windows XP. Кажется, что почему-то SYSTEM учетная запись в Windows XP не может аутентифицироваться как компьютер. Смотрите подробнее.

Вопрос:

Что я делаю не так?

Возможно, это естественное поведение системы Windows XP? Если да, то можно ли его изменить или исправить? Или есть какой-либо другой способ реализовать сценарий, в котором общий сетевой ресурс будет виден SYSTEM пользователь на компьютерах, не будучи доступным для пользователей?

Детали:

Поскольку о проблеме сообщило приложение, я сначала начал проверять фактические SYSTEM права пользователя. В обеих версиях Windows (7 и XP) я открыл cmd сеанс олицетворения SYSTEM аккаунт (используя PsExec -s -i cmd.exe) и попытался вручную смонтировать сетевой ресурс:

net use x: \\myfs.mydomain.com\Wpkg

В Windows 7 привод был смонтирован без проблем. Но в Windows XP команда ответила информацией о неверном пароле и запросом нового:

[Windows XP]
Password for \\myfs.mydomain.com\Wpkg is incorrect.

Please enter password for "myfs.mydomain.com": _

(обратите внимание, что это всего лишь перевод, официальный английский язык может звучать иначе)

ФИКСИРОВАННЫЙ!

Источником проблемы был файловый сервер не регистрируется в DC DNS. Похоже, что это явно кто-то сделал специально - соответствующий параметр сетевого интерфейса был отключен вручную:

(network interface) 
  -> Properties 
    -> TCP/IP Protocol 
      -> Advanced 
        -> DNS 
          -> [ ] Register this connection's address in DNS

После проверки вышеуказанного варианта и выдачи ipconfig /registerdns:

  • файловый сервер правильно зарегистрирован в записях DNS DC
  • Windows XP SYSTEM пользователь начал правильно монтировать проблемный общий ресурс без запроса учетных данных

Различное поведение Windows XP и Windows 7 должно быть связано с некоторыми различиями во внутренней реализации; Я бы предположил Kerberos, хотя мои знания Kerberos пока поверхностны.


Мне кажется достаточно интересным добавить, что очень похожая вещь происходит, когда я пытаюсь добавить CNAME запись из т.е. wpkg.domain.mydomain.com к filesystem.domain.mydomain.com:

В Windows XP работает только последнее имя хоста:

C:\WINDOWS\system32>dir \\wpkg[.domain.mydomain.com]\wpkg
Access denied.

C:\WINDOWS\system32>dir \\fileserver[.domain.mydomain.com]\wpkg
[...result OK... ]

... а в Windows 7 нет ничего против использования CNAME:

C:\WINDOWS\system32>dir \\wpkg[.domain.mydomain.com]\wpkg
[...result OK... ]

C:\WINDOWS\system32>dir \\fileserver[.domain.mydomain.com]\wpkg
[...result OK... ]

Обратите внимание, что здесь я получил Access denied ошибка, а не запрос пароля.

В нормальной, ванильной среде то, что вы делаете, сработает. Я не могу воспроизвести то, что вы видите. Я создал общий ресурс (\\ server \ share), предоставил доступ на чтение для компьютеров домена и удалил все остальные ACE. Работает под psexec -s -i -d cmd, Я могу получить доступ к общему ресурсу как с компьютеров XP, так и с Win7.

Насколько вы уверены, что компьютер XP является членом Domain Computers? По умолчанию все новые учетные записи компьютеров являются членами Domain Computers не через member (или memberOf), но вместо этого как Первичная группа объекта. Хорошо известный RID группы «Компьютеры домена» - 515. Это значение RID проставляется в атрибуте primaryGroupID объекта компьютера.

Можете ли вы взглянуть на атрибуты primaryGroupID и memberOf объекта компьютера и сообщить мне, что присутствует? В этом отношении, если вам удобно, вы могли бы опубликовать полный вывод для компьютера XP и Win7? В любом случае, простой способ получить информацию - воспользоваться следующей командой: dsquery * -filter "name=COMPUTER_NAME_GOES_HERE" -attr *.

Что-то еще, что можно попробовать, - это изменить ACL на общей папке / NTFS, по одному, чтобы разрешить Everyone, Authenticated Users, Domain Users, и само имя компьютера. Попробуйте каждый и посмотрите, какой из них работает.