我刚刚在我的 Amazon EC2 实例上安装了一个名为 sshpass 的应用程序。我无法让它正常工作(尽管它在非 AWS 实例上可以正常工作)。我在一些论坛上读到,我可能需要以 root 用户身份运行它才能正常工作。
在 AWS 实例上,我必须使用 sudo 运行应用程序才能以根用户身份运行它们。当我尝试使用sudo sshpass
bash 输出“命令未找到”执行 sshpass 时。
在哪里以及如何配置 sudo 以便我可以使用 sudo 以 root 身份运行 sshpass?
答案1
给出命令的完整路径。
例如:
sudo /opt/local/bin/sshpass
显然,这并不是对您可能把它放在哪里的准确猜测。
答案2
如果 bash 打印“sudo:未找到命令”,那么您的系统中根本没有安装 sudo。您可以使用su -c sshpass
sudo 代替。
答案3
根据映像的类型(Amazon Linux、Ubuntu、Suse、CentOS、Debian 等),您可以找到文件的安装路径并运行它们,我认为这样做的原因是应用程序位于 /sbin 或 /usr/sbin 中,而不位于非 root 用户的默认路径中。
要在基于 RPM 的发行版(例如 RedHat、Fedora、Amazon Linux、Suse 和 CentOS)中查找文件的位置:
rpm -ql <your package name>
对于基于 Deb 的发行版(Ubuntu、Debian),请使用:
dpkg -L <your package name>
在列表中,您应该能够看到以 bin 或 sbin 结尾的路径中的二进制文件。