У меня есть служба Windows, работающая как локальная система на SERVER_X, которая пытается получить доступ к сценарию на общем ресурсе UNC, размещенном на SERVER_Y.
По приведенным ниже ссылкам я предоставил учетной записи компьютера SERVER_X доступ к UNC на SERVER_Y.
Как предоставить сетевой доступ учетной записи LocalSystem?
Как предоставить доступ к общей папке для локальной учетной записи SYSTEM в доменной сети
Но служба Windows не может получить доступ к файлу (ошибки отказа в доступе).
dir \\SERVER_X\share
Access is denied.
В журнале событий безопасности (на SERVER_Y) я вижу, что SERVER_X пытается получить доступ к общему ресурсу UNC как NT AUTHORITY \ ANONYMOUS LOGON. Я бы подумал, что я должен увидеть учетную запись компьютера (то есть DOMAIN \ SERVER_X) в журнале событий безопасности.
Оба сервера работают под управлением Windows Server 2003 SE SP2.
Любая помощь будет принята с благодарностью!
я нашел это Блог Microsoft что заставило меня взглянуть на использование имени хоста сервера против CNAME.
В частности, приведенные ниже фрагменты:
Если вы ответили на разрешение DNS-имен, вы были бы правы. Если разрешение имен не работает должным образом в среде, это приведет к тому, что приложение, запрашивающее билет Kerberos, фактически запросит билет службы для неправильного имени участника-службы.. Итак, если вы помните удаленный файловый сервер, я пытаюсь подключиться к «ltwre-chd-mem1.chd.litwareinc.com», однако DNS-сервер нашел запись для «ltwre-chd-mem1.litware.com». Поскольку мы обнаружили удаленный файловый сервер в домене «litwareinc.com», клиент Kerberos запрашивает билет службы для «cifs / ltwre-chd-mem1.litwareinc.com», как указано в запросе билета Kerberos, и KDC отвечает KRB5KDC_ERR_S_PRINCIPAL_UNKNOWN .
И...
Собственно, есть несколько разных способов «исправить» проблему:
а. Узнайте, почему DNS неправильно разрешает имя компьютера.
я. Есть ли запись HOST или CNAME для этого имени?
II. Вы настроили зону DNS для поиска WINS?
И...
Если вы обнаружите, что устранить проблему с DNS невозможно, то следующим лучшим решением будет заставить приложение использовать полное доменное имя сервера. Имейте в виду, что для использования этого исправления потребуется участие поставщика приложения.
Примечание: На хосте Windows Server 2008 я мог успешно выполнить команду dir, используя CNAME.
РЕШЕНИЕ 1:
Используйте имя хоста вместо CNAME.
Я подтвердил, что если с хоста Windows Server 2003 я получил доступ к общему ресурсу UNC с именем хоста (т.е. \\HOSTNAME\share
) вместо CNAME (т.е. \\CNAME\share
) доступ будет работать нормально.
Пример - РАБОТАЕТ:
dir \\HOSTNAME\share
Пример - НЕ РАБОТАЕТ:
dir \\CNAME\share
Access is denied.
РЕШЕНИЕ 2:
Установите SPN (имя участника-службы) для CNAME.
setspn -a HOST/CNAME SERVER
После этого dir \\CNAME\share
работал.
Также см Как настроить компьютер с Windows, чтобы разрешить общий доступ к файлам с DNS-псевдонимом Чтобы получить больше информации.
Запустите службу под учетной записью пользователя, чтобы обойти проблему.
Потому что, когда вы получаете доступ к общему ресурсу UNC без предварительно установленных сетевых учетных данных, вы становитесь анонимным. В местный Учетная запись SYSTEM явно недействительна для входа в сеть.