Bash:sudoを使用しないとエラーが返されます。

Bash:sudoを使用しないとエラーが返されます。

私はKali Linux Liveを実行しており、長い間システムをrootユーザーとして使用していますが、rootをデフォルトアカウントとして使用するのではなく、権限の低いアカウントユーザーを作成することについてのオンライン記事を見ました。それが私がしたことで実行しよifconfigうとしたときにエラーが発生するまで、すべてが大丈夫でしたbash: ifconfig: command not found

実行しようとしましたが、すでに存在する最新バージョンがsudo apt-get install ifconfig返されます。ifconfig私は少し混乱してrunを使用しなければならなかったsudo ifconfigので試してみました。もちろん動作します。実行する必要がある他のコマンドも同様のエラーを返します。sudoapt-getsudo ifconfigsudo

だから私の質問は、を使用してインストールするときに実行する必要があるプログラムがrootシステムに保存され、root以外sudo apt-get installのユーザーがアクセスできないことです。これが正しいかどうかはわかりません。マニュアルを読むと、sudoコマンドがルート(または通常は他のユーザー)で実行されることがわかりますが、ルートシステムで「出力を実行する」ことを意味しますか?では、管理者権限を付与する以外に、権限の低いユーザーでコマンドを実行するにはどうすればよいですか?

すべてのサポートに感謝します!

答え1

彼らは/sbin一緒にいる/usr/sbin 誰でも実行できます。。しかし、これはうまくいかないかもしれません。このような機能がなければ、ほとんどのコマンドはあまり効果がありません。伝統的に、ユーザーはrootすべての能力を持っています。通常、通常のユーザー実行検索パスには/sbinありません。/usr/sbin

ifconfig一般ユーザーには便利ですが、すべての機能を使用することはできません。たとえば、/sbin/ifconfigパラメータがない場合は、すべてのネットワークインターフェイスが一覧表示されます。

答え2

root以外のユーザーとしてこれらのコマンドを見つけることができない理由は、そのコマンドがPATHにない可能性があるためです。を実行して、echo $PATHシェルが入力したコマンドを探すディレクトリを確認します。

システムプログラムと管理ユーティリティは通常、および/sbinにあります/usr/sbin。これらのプログラムとユーティリティはすべてのユーザーが実行できますが(適切なファイルシステム権限を設定した場合)、通常はrootとして実行しない限り、システム上で何も変更しません。

次のコマンドを使用して、PATHに新しいディレクトリを追加できます。

export PATH=$PATH:/path/to/directory

ifconfig必要に応じて root 以外のユーザーとして実行できますが、apt-getroot でない場合は構成を変更したりパッケージをインストールしたりすることはできません。

関連情報