我有一个java应用程序使用ssh连接连接到远程CentOS。
有一个shell脚本,为了执行它,我需要输入密码。
[user@**** ~]$ sudo ***
Password:
我的问题是如何在没有提示的情况下执行脚本。(我无法修改/etc/sudoers
,我也不想使用outputStream来发送密码。)
答案 0 :(得分:0)
最好和更安全的方法是sudo visudo并附上“NOPASSWD:”以获取sudo不需要密码。
中间的方法是使用sudo -S参数,它希望密码来自标准输入而不是终端设备。
最糟糕且安全性最差的方法是传递一个明文密码,即使是通过ps -ef命令使用“expect”实用程序(安装它,然后“man expect”)也可以捕获