В Windows можно ли запустить одну программу от имени другого пользователя?

Как вы делегируете запуск goroutine другой учетной записи без прав администратора в Windows? Я вижу, вы можете сделать это наLinux с помощьюsyscall.Setuid(), Я не вижу, как это сделать в Windows с помощью пакета Windows syscall. Я хотел бы иметь возможность установить учетную запись, под которой запускается программа во время работы программы. Это возможно?

Немного фона: - Я хочу переключить пользователя, который запускает программу, чтобы я мог сменить пользователя ОС, переданного Oracle при подключении к базе данных, когда я использую go-oci8 (см. Мой другойвопрос). Мне нужно подключиться к базе данных, и она использует вошедшего в систему пользователя (OS OS) как часть безопасности. В Java я могу изменить переменную окружения во время установки соединения (или щелкнуть переменную окружения имени пользователя, если соединение только для одного пользователя).

У меня есть имя пользователя базы данных пользователей (оно совпадает с именем пользователя ОС), и я получаю пароль пользователя базы данных. У меня нет пароля для входа в Windows. Я надеялся, что смогу поручить запуск goroutine нужному пользователю windows из основной программы go, работающей от имени администратора, аналогично примеру привязки порта Linux, который я выделил. Изменение имени входа Oracle, чтобы не использовать OS User, не вариант, поэтому я вернусь к Java, если я не смогу это решить :-(.

Ответы на вопрос(2)

Ваш ответ на вопрос