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