我在远程机器上安装了 Cygwin 1.7,并且能够与默认用户“cyg_server”连接并通过启动进程cygstart
。
我想用不同的用户做同样的事情。我是这样创建的:
mkpasswd -d DOMAIN -p /home -u USER >>/etc/passwd
我可以顺利连接,但当我用它cygstart
来运行目标进程时什么也没发生。从控制台我根本收不到任何消息,但我确信这一点,因为我启动后taskkill
检查了进程的存在。
最后,如果我远程连接到我的机器并直接在 cygwin 控制台中运行相同的命令,则不会遇到任何问题。
有线索吗?谢谢
答案1
我已经找到了如何实现这一目标的方法。
首先,需要为用户分配以下权限:
editrights -l -u USER
editrights -a SeAssignPrimaryTokenPrivilege -u USER
editrights -a SeCreateTokenPrivilege -u USER
editrights -a SeTcbPrivilege -u USER
editrights -a SeServiceLogonRight -u USER
editrights -l -u USER
之后,我重新启动了机器(也许这不是必需的)并使用 runas 操作运行命令:
cygstart --action=runas COMMAND
我希望它有帮助。