如何使用 Sudo 执行新安装的应用程序?

如何使用 Sudo 执行新安装的应用程序?

我刚刚在我的 Amazon EC2 实例上安装了一个名为 sshpass 的应用程序。我无法让它正常工作(尽管它在非 AWS 实例上可以正常工作)。我在一些论坛上读到,我可能需要以 root 用户身份运行它才能正常工作。

在 AWS 实例上,我必须使用 sudo 运行应用程序才能以根用户身份运行它们。当我尝试使用sudo sshpassbash 输出“命令未找到”执行 sshpass 时。

在哪里以及如何配置 sudo 以便我可以使用 sudo 以 root 身份运行 sshpass?

答案1

给出命令的完整路径。

例如:

sudo /opt/local/bin/sshpass

显然,这并不是对您可能把它放在哪里的准确猜测。

答案2

如果 bash 打印“sudo:未找到命令”,那么您的系统中根本没有安装 sudo。您可以使用su -c sshpasssudo 代替。

答案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 结尾的路径中的二进制文件。

相关内容