Debian(左)とUbuntu(右)を比較します:
$ ifconfig $ ifconfig bash: ifconfig: command not found eth0 Link encap ... $ which ifconfig $ which ifconfig $ /sbin/ifconfig
次に、スーパーユーザー:
# ifconfig # ifconfig eth0 Link encap ... eth0 Link encap ... # which ifconfig # which ifconfig /sbin/ifconfig /sbin/ifconfig
さらに:
# ls -l /sbin/ifconfig # ls -l /sbin/ifconfig -rwxr-xr-x 1 root root 68360 ... -rwxr-xr-x 1 root root 68040 ...
私にはそれが唯一の理由のようですDebianでスーパーパワーなしでifconfig
を実行することはできません。それは、私のパスにないということです。/sbin/ifconfig
を使用すると、機能します。
しない 追加する必要がある理由はありますか/usr/local/sbin:/usr/sbin:/sbin
Debianでの私の道へ?これはパーソナルコンピュータであり、私だけが人間のユーザーです。
使用されているバージョン(uname -a
):
Ubuntu:
Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
Debian:
Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
コメント
- すばらしい質問-賛成:)ちなみに、ここ'のDebian 'の決定に関するいくつかの歴史 ut
/usr/local/sbin:/usr/sbin:/sbin
は通常のユーザーのデフォルトのPATHにあります。 Ubuntu 'のアプローチは、経験豊富なユーザーを除くすべてのユーザーにとってよりユーザーフレンドリーなようです。
回答
Debianポリシーには、Debianがファイル階層に従うと書かれています標準バージョン2.3。 標準の注#19 には、次のように記載されています。
sbin "ディレクトリは単純です。通常の(システム管理者ではない)ユーザーが直接実行する場合は、1つに配置する必要があります。 " bin "ディレクトリの通常のユーザーは、パスにsbinディレクトリを配置する必要はありません。
たとえば、ユーザーがたまにしか使用しないchfnなどのファイルは、引き続き/ usr / binに配置する必要があります。 pingは、root(ネットワークの回復と診断)に絶対に必要ですが、ユーザーが使用することが多く、そのため/ binに存在する必要があります。
ユーザーは、/内のすべての権限を読み取り、実行することをお勧めします。おそらく、特定のsetuidおよびsetgidプログラムを除いてsbin。 / binと/ sbinの間の分割は、セキュリティ上の理由やユーザーにオペレーティングシステムが表示されないようにするためではなく、誰もが使用するバイナリと主に管理タスクに使用されるバイナリの間に適切なパーティションを提供するために作成されました。 ユーザーの/ sbinを立ち入り禁止にすることに固有のセキュリティ上の利点はありません。
簡単な回答:
Debianでの私のパスへ?
メモにあるように、そうすべきでない理由はありません。システムを使用しているのはあなただけであり、sbin
ディレクトリにバイナリが必要なので、自由に$PATH
に追加してください。 。この時点で、優れた回答を正しく行う方法をご案内します。
回答
それらを追加しない唯一の理由は、コマンドのタブ補完が遅くなり(より多くのディレクトリが検索されるため)、効果が低くなる(コマンドからの誤った一致が発生する可能性が高いため)ためです。 root以外で使用しても意味がありません。