【发布时间】:2014-09-30 14:23:20
【问题描述】:
如何将 goroutine 的运行委托给 Windows 上的另一个非管理员帐户?我看到你可以使用syscall.Setuid() 在Linux 上执行此操作。我看不到如何使用 windows syscall 包在 Windows 上执行此操作。我希望能够在程序运行时设置 goroutine 运行的帐户。这可能吗?
背景知识:- 我想切换运行 goroutine 的用户,这样我就可以在使用 go-oci8 时更改在数据库连接期间传递给 Oracle 的 OS 用户(请参阅我的其他 @ 987654322@)。我需要连接到数据库,它使用登录用户(操作系统用户)作为安全性的一部分。在java中,我可以在连接设置期间更改环境变量(或者如果只为单个用户连接,则轻弹用户名环境变量)。
我有用户数据库用户名(这与操作系统用户名匹配),我得到了数据库用户密码。我没有用户的 windows 登录密码。我希望能够以与我强调的 Linux 端口绑定示例类似的方式,以管理员身份运行的主 go 程序将运行 goroutine 委托给所需的 windows 用户。将 Oracle 登录名更改为不使用 OS 用户不是一个选项,因此如果我无法解决,它将返回 Java :-(。
【问题讨论】: