如何以其他用户身份运行程序

如何以其他用户身份运行程序

我在 Ubuntu 上遇到权限问题。

我有一个用户应用程序用户在我的系统上它可以运行node、npm等,

但现在我需要安装 net-tools 包

这个:https://zoomadmin.com/HowToInstall/UbuntuPackage/net-tools

问题是我安装它

sudo apt-get update -y

作为 root 用户,因为我没有 appuser 的权限。

当我尝试以 root 用户身份运行它时,例如命令:arp它工作正常。

但是当我想以 appuser 身份运行它时,即使我将 appuser 添加到 sudoers ,它也无法工作。

当以 appuser 身份运行时,arp我得到:

bash: arp: command not found

答案1

如果您已经安装net-tools(以 root 身份),您应该能够arp通过指定它的绝对路径以非特权用户身份运行,例如

/usr/sbin/arp

或确保它是PATH为用户提供的;例如在适当的初始化文件(.profile或您的 shell/环境的等效文件)中,添加一行,例如

PATH="$PATH:/usr/sbin"

答案2

  • 您应该始终使用apt-getroot 身份进行安装。这并不意味着只有 root 才能运行已安装的程序。
  • sudo apt-get update -y不安装任何东西。用于sudo apt install net-tools安装网络工具。
  • apr/usr/sbin此目录中不在普通用户路径中。您可以将其添加到您的路径中(编辑~/.profile)。或将其运行为/usr/sbin/arp.

相关内容