他のユーザーでプログラムを実行する方法

他のユーザーでプログラムを実行する方法

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

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

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

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

問題はこれをインストールすることです

sudo apt-get update -y

これはrootユーザーとしてappuser権限がないためです。

コマンドなどの root ユーザーとして実行しようとするとarp正常に動作します。

ところで、appuserで実行しようとすると、sudoersにappuserを追加しても実行にはなりません。

appuserとして実行すると、arp次のようになります。

bash: arp: command not found

答え1

rootとしてインストールした場合は、絶対パスを指定して権限のないユーザーとして実行net-toolsできます。arp例えば

/usr/sbin/arp

または、PATHユーザーが利用可能であることを確認してください。例えば適切な初期化ファイル(.profileまたはシェル/環境に対応するファイル)に次の行を追加します。

PATH="$PATH:/usr/sbin"

答え2

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

関連情報