/sbin
ディレクトリにifconfig
コマンドが存在することについて少し心配です。
/sbin
ディレクトリの主な目的と、そのディレクトリにこれらのコマンドのroot権限がないことを本当に理解していません。
例えば、
xxxx@Jacks:~$ l -l /sbin/ | grep shut
lrwxrwxrwx 1 root root 14 Feb 6 19:00 shutdown -> /bin/systemctl*
shutdown
コマンド/ユーティリティは/bin
ディレクトリへのリンクとして表示されますが、これはかなり正常なようです。
/sbin
がシステム(ルート)ディレクトリである場合、通常のユーザー(スーパーユーザー権限なし)がifconfig
コマンドを実行できるのはなぜですか?
システム(ルート)ディレクトリを/ sbinしている場合、通常のユーザー(スーパーユーザー権限なし)がifconfigコマンドを実行できるのはなぜですか?
上記の文は、ifconfigコマンドが見つかったOSの作成者のみが完全に回答できます。しかし、これを共有しましょう。通常はrootユーザーのみが実行する必要があるタスクを実行する必要がある特定のツールがありますが、これらのタスクはすべてのユーザーに必要であるという事実に基づいて、すべての通常のユーザーが実行できるようになっています。例はpasswd
ツールです。これは私のシステムの/usr/bin/
ディレクトリにありますが、ユーザーは通常、その場所でツールを使用するためにSudo
を実行する必要がありますが、ここではpasswd
だけを使用して自分のパスワードを変更し、自分のパスワードのみを変更できます。したがって、そのツールはだれでも使用できるように設計されていますが、実行すると、ルートであるeffective user
の特権と呼ばれるもので実行されます。
これがそのようなツールの背後にある理論です。このように設計されるのは、Ubuntuまたは他のLinux OSの作成者次第です。どのツールもこのように動作するようにできます。この場合はifconfig
はこのカテゴリに分類されます。
Simpy put passwdを使用して自分のパスワードを変更するのにroot
である必要はありませんが、システムの他のすべてのユーザーのパスワードを変更する必要があります。したがって、Ubuntu開発者はifconfigを使用するためにrootになる必要があると後で決めることができ、それにより、使用またはアクセスの方法が変わります。
そして、その場所に配置されているという事実は、システムがアクセスする必要があるツールであることを意味し、それはそのようなツールの通常の場所です。
投稿に定義を投稿したので、/ sbinが何であるかがわかります。 ifconfigが何であるかを調べると、それが/ binではなく/ sbinにある理由がわかります。
リンク: https://manpages.ubuntu.com/manpages/trusty/man8/ifconfig.8.html
説明を読んでください、それは特別な特権、つまりroot特権を必要とする起動時に提供されます(私は間違っているかもしれませんが、これは私の仮定です。私はプログラマーですが、オペレーティングシステムで作業しないので、完全なことを知りません)機能または理由の背後にある理由は何ですか)。