¿Hay alguna razón por la que no agregaría / usr / local / sbin, / usr / sbin, / sbin a mi ruta en Debian?

25

Compare Debian (izquierda) y Ubuntu (derecha):

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

Entonces como superusuario:

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

Además:

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

Me parece que la única razón por la que no puedo ejecutar ifconfigsin superpoderes en Debian es que no está en mi camino. Cuando lo uso /sbin/ifconfigfunciona.

¿Hay alguna razón por la que no deba agregar /usr/local/sbin:/usr/sbin:/sbina mi ruta en Debian? Esta es una computadora personal, soy el único usuario humano.


Versiones utilizadas ( 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
caos
fuente
Gran pregunta: votada :) Por cierto, aquí hay un poco de historia sobre la decisión de Debian de no incluir /usr/local/sbin:/usr/sbin:/sbinla RUTA predeterminada para los usuarios comunes. El enfoque de Ubuntu es más fácil de usar para todos, excepto para los usuarios más experimentados.
sampablokuper

Respuestas:

27

En la Política de Debian está escrito que Debian sigue el Estándar de Jerarquía de Archivos versión 2.3. Nota # 19 en el estándar dice:

Decidir qué cosas van a los directorios "sbin" es simple: si un usuario normal (no un administrador del sistema) lo ejecutará directamente, entonces debe colocarse en uno de los directorios "bin". Los usuarios ordinarios no deberían tener que colocar ninguno de los directorios sbin en su ruta.

Por ejemplo, los archivos como chfn que los usuarios solo usan ocasionalmente deben colocarse en / usr / bin. ping, aunque es absolutamente necesario para la raíz (recuperación y diagnóstico de red) a menudo es utilizado por los usuarios y por eso debe vivir en / bin.

Recomendamos que los usuarios tengan permiso de lectura y ejecución para todo en / sbin excepto, tal vez, ciertos programas setuid y setgid. La división entre / bin y / sbin no se creó por razones de seguridad o para evitar que los usuarios vean el sistema operativo, sino para proporcionar una buena partición entre los archivos binarios que todos usan y los que se usan principalmente para tareas de administración. No hay una ventaja de seguridad inherente en hacer / sbin fuera de los límites para los usuarios .


Respuesta corta:

¿Hay alguna razón por la que no deba agregar /usr/local/sbin:/usr/sbin:/sbina mi ruta en Debian?

Como dice la nota, no hay ninguna razón por la que no debas hacer eso. Como eres el único que usa el sistema y necesitas los binarios en los sbindirectorios, no dudes en agregarlos a tu $PATH. En este punto, déjame guiarte a una excelente respuesta sobre cómo hacerlo correctamente.

caos
fuente
4

La única razón para no agregarlos es que hace que la finalización de la pestaña de los comandos sea más lenta (ya que se buscan más directorios) y menos efectiva (ya que es más probable que haya coincidencias falsas de los comandos que no tienen sentido para el uso no root )

R ..
fuente