web-dev-qa-db-ja.com

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を使用するとうまくいきます。

not Debianのパスに/usr/local/sbin:/usr/sbin:/sbinを追加する必要がある理由はありますか?これはパソコンです。私だけが人間です。


使用されているバージョン(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
27
user37050

Debian Policy には、Debianが File Hierarchy Standard バージョン2.3に従うと書かれています。 注#19 標準では次のように述べています:

「sbin」ディレクトリに入れるものを決定するのは簡単です。通常の(システム管理者ではない)ユーザーがそれを直接実行する場合は、「bin」ディレクトリの1つに配置する必要があります。通常のユーザーは、パスにsbinディレクトリを配置する必要はありません。

たとえば、ユーザーがたまにしか使用しないchfnなどのファイルは、引き続き/ usr/binに配置する必要があります。 ping、ただしroot(ネットワークの回復と診断)には絶対に必要ですが、ユーザーがよく使用し、そのため/ binに存在する必要があります。

特定のsetuidプログラムとsetgidプログラムを除いて、ユーザーに/ sbin内のすべてに対する読み取りと実行の権限を与えることをお勧めします。/binと/ sbinの間の分割は、セキュリティ上の理由から、またはユーザーがオペレーティングシステムを表示できないようにするためではなく、誰もが使用するバイナリと、主に管理タスクに使用されるバイナリの間に適切なパーティションを提供するために作成されました。 ユーザーの/ sbinを制限外にしても、固有のセキュリティ上の利点はありません


短い答え:

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

メモに記載されているように、これを行うべきではない理由はありません。システムを使用しているのはあなただけであり、sbinディレクトリにバイナリが必要な場合は、自由に$PATHに追加してください。この時点で、 優れた答え を正しく行う方法をご案内します。

30
chaos

それらを追加しない唯一の理由は、コマンドのタブ補完が遅くなり(より多くのディレクトリが検索されるため)、効果が低下するためです(非rootが使用しても意味のないコマンドから誤った一致が発生する可能性が高いため) )。