Debianのパスに/ usr / local / sbin、/ usr / sbin、/ sbinを追加しない理由はありますか?

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以外で使用しても意味がありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です