Использование локальных учетных записей в контейнере windows docker для доступа к компьютерам в одной сети - PullRequest
0 голосов
/ 27 февраля 2020

У меня есть Windows машина, машина 1 в сети с локальной учетной записью, называемой testlocal.

У меня есть другой компьютер, компьютер 2 в сети с той же локальной учетной записью, testlocal.

С моего компьютера 1 я могу получить доступ к папке с общим ресурсом, включенным в testlocal, потому что у меня есть то же имя пользователя и пароль testlocal на обеих машинах, что и локальные учетные записи.

Теперь, когда я создаю контейнер docker на машине 1. Я вижу, что могу пинговать машину 2. Я даже могу позвонить:

net use \\machine2 <password> /USER:machine2\testlocal

И получить доступ к общему диску.

Но, когда я делаю следующее в моем dockerfile на machine1:

RUN net user testlocal <password> /ADD /EXPIRES:NEVER
RUN net LOCALGROUP Administrators /ADD testlocal

И затем cmd в контейнер на machine1 для проверки, он говорит, что пароль неверен при запуске:

net view \\machine2 /USER:testlocal

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

Моя цель чтобы в моем контейнере была точка входа, позволяющая пользователю вводить учетные данные для общей локальной учетной записи, а затем позволить приложению, запущенному в контейнере, получать доступ к этим общим дискам без имени пользователя и пароля.

Что такое правильный способ получить доступ к windows акциям? Разумен ли такой подход?

1 Ответ

0 голосов
/ 02 марта 2020

Закончено обеспечение того, что работающее приложение настроит сетевые ресурсы при инициализации. Должен выполнить системный вызов:

NET use \\\\<sharePath> <password> /USER:<user> /PERSISTENT:YES"

Это похоже на работу.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...