別のユーザーとしてプログラムを実行するにはどうすればいいですか

別のユーザーとしてプログラムを実行するにはどうすればいいですか

Ubuntu の権限に問題があります。

ユーザーがいますアプリユーザー私のシステムではnode、npmなどを実行できます。

しかし、今はnet-toolsパッケージをインストールする必要があります

これです:https://zoomadmin.com/HowToInstall/UbuntuPackage/net-tools

問題は、私がそれをインストールしたことです

sudo apt-get update -y

appuser としての権限がないので、root ユーザーとして実行します。

そして、たとえばコマンドを root ユーザーとして実行しようとすると、arp正常に動作します。

しかし、appuser として実行したい場合、appuser を sudoers に追加しても機能しません。

arpappuser として実行すると次のようになります:

bash: arp: command not found

答え1

net-tools(ルートとして)インストールした場合は、arp絶対パスを指定するか、例えば

/usr/sbin/arp

PATHまたは、それがユーザーにとって適切であることを確認することによって。例えば適切な初期化ファイル(.profileまたはシェル/環境の同等のもの)に、次のような行を追加します。

PATH="$PATH:/usr/sbin"

答え2

  • インストールするときは常にapt-getroot として使用する必要があります。これは、インストールされたプログラムを root だけが実行できるという意味ではありません。
  • sudo apt-get update -y何もインストールしません。net sudo apt install net-tools-tools をインストールする場合に使用します。
  • aprこのディレクトリにある は/usr/sbin通常のユーザーの PATH にありません。 パスに追加できます ( を編集~/.profile)。または として実行します/usr/sbin/arp

関連情報