在su命令中调用时如何隐藏密码?

时间:2014-06-02 18:50:47

标签: linux bash shell scripting suse

这是我第一次发生在我使用su命令的地方,它实际上在终端上显示密码并且不会隐藏。这是我的代码片段:

sshpass -p "password" ssh -q username@74.11.11.11 "su -lc 'mkdir temp/'"

代码说明:我正在访问远程服务器并尝试在该服务器上创建一个文件夹。这样做我必须使用su命令,它会提示我输入密码。当我输入密码时,它会显示并且不会保持隐藏状态。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

解决方案是分配一个伪TTY(使用-t上的ssh选项):

sshpass -p "password" ssh -t -q username@74.11.11.11 "su -lc 'mkdir temp/'"

没有这个,就没有"终端"在此上下文中,su无法禁用密码的回显。