我尝试在执行shell中使用su - user。但它看起来没有用。
有任何建议吗?
答案 0 :(得分:3)
这可能是因为su正在以交互方式要求输入密码。尝试设置sudo,以便您的hudson用户有权在不输入密码的情况下以 user 的身份运行构建命令。请参阅sudoers manual。
已添加:首先,我不完全确定您遇到了什么错误。如果您仍然遇到问题,您应该更详细地描述发生的事情(错误消息,日志输出)以及您尝试缩小问题的范围。
其次,您还可以使用密钥对将ssh设置为localhost(Google找到了大量示例,here's one)。
使用:
而不是su - user
ssh user@localhost cmd
您需要创建一个密钥对(没有密码)作为hudson用户,并将公钥安装在您要登录的用户的 authorized_keys 文件中。
最后,您应该质疑是否所有这些都是必要的。为什么哈德森用户不能运行你的构建?用户特定的设置是一种气味。