以脚本身份运行某些命令作为用户

时间:2017-02-20 09:11:46

标签: bash sudo

我正在尝试从服务器远程更改客户端上的配置文件。这是一个实验性试验台。我进行了设置,以便服务器的rsa_pub密钥位于客户端的授权密钥文件中。

当我运行脚本(这需要以root身份运行)时,当我尝试更改文件时,系统会提示我输入客户端计算机的密码。如果我以用户身份运行它,那么我不是。我也尝试使用sudo -u开关,它看起来效果不佳。

以用户身份运行(这可行):

echo 'prio 0' | ssh user@192.168.10.10 "cat > /home/user/priofile.txt"

仍然以用户身份运行,但使用-u开关(此功能正常):

$ sudo -u user echo 'prio 0' | ssh user@192.168.10.10 "cat > /home/user/priofile.txt"

以root身份运行:

# sudo -u user echo 'prio 0' | ssh user@192.168.10.10 "cat > /home/user/priofile.txt"
user@192.168.10.10's password: 

为什么它会提示我输入密码,虽然我试图以用户身份运行它?

1 个答案:

答案 0 :(得分:0)

root用户的密钥存储在/root/.ssh/下。需要将这些密钥复制到远程客户端以方便无密码访问。