Existe uma razão pela qual eu não adicionaria / usr / local / sbin, / usr / sbin, / sbin ao meu caminho no Debian?

23

Compare o Debian (à esquerda) e o Ubuntu (à direita):

$ ifconfig                                 $ ifconfig
bash: ifconfig: command not found          eth0     Link encap ...
$ which ifconfig                           $ which ifconfig
$                                          /sbin/ifconfig

Então, como superusuário:

# ifconfig                                 # ifconfig
eth0      Link encap ...                   eth0     Link encap ...
# which ifconfig                           # which ifconfig
/sbin/ifconfig                             /sbin/ifconfig

Além disso:

# ls -l /sbin/ifconfig                     # ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 68360 ...           -rwxr-xr-x 1 root root 68040 ...

Parece-me que a única razão pela qual eu não posso correr ifconfig sem superpoderes no Debian é que não está no meu caminho. Quando eu uso /sbin/ifconfig , funciona.

Existe alguma razão para eu não não adicionar /usr/local/sbin:/usr/sbin:/sbin ao meu caminho no Debian? Este é um computador pessoal, eu sou o único usuário humano.

Versões usadas ( 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
    
por Keelan 29.09.2015 / 16:17

2 respostas

25

Na Política Debian está escrito que o Debian segue o File Hierarchy Standard versão 2.3. Nota # 19 no padrão diz:

Deciding what things go into "sbin" directories is simple: if a normal (not a system administrator) user will ever run it directly, then it must be placed in one of the "bin" directories. Ordinary users should not have to place any of the sbin directories in their path.

For example, files such as chfn which users only occasionally use must still be placed in /usr/bin. ping, although it is absolutely necessary for root (network recovery and diagnosis) is often used by users and must live in /bin for that reason.

We recommend that users have read and execute permission for everything in /sbin except, perhaps, certain setuid and setgid programs. The division between /bin and /sbin was not created for security reasons or to prevent users from seeing the operating system, but to provide a good partition between binaries that everyone uses and ones that are primarily used for administration tasks. There is no inherent security advantage in making /sbin off-limits for users.

Resposta curta:

Is there any reason I should not add /usr/local/sbin:/usr/sbin:/sbin to my path on Debian?

Como a nota afirma, não há motivo para você não fazer isso. Como você é o único que usa o sistema e precisa dos binários nos diretórios sbin , sinta-se à vontade para adicioná-los ao seu $PATH . Neste ponto, deixe-me guiá-lo para uma excelente resposta sobre como fazer isso corretamente.

    
por 29.09.2015 / 16:48
4

A única razão para não adicioná-los é que torna a finalização de comandos mais lenta (já que mais diretórios são procurados) e menos efetiva (já que é mais provável que existam combinações falsas de comandos que não fazem sentido para raiz para usar).

    
por 29.09.2015 / 19:43