Compare Debian (izquierda) y Ubuntu (derecha):
$ ifconfig $ ifconfig bash: ifconfig: command not found eth0 Link encap ... $ which ifconfig $ which ifconfig $ /sbin/ifconfig
Luego, 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 es la única razón por la que No puedo ejecutar ifconfig
sin superpoderes en Debian es que no está en mi camino. Cuando uso /sbin/ifconfig
funciona.
¿Hay alguna razón por la que deba no agregar /usr/local/sbin:/usr/sbin:/sbin
a 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
Comentarios
- Gran pregunta – upvoted 🙂 Por cierto, aquí ' s algo de historia sobre la decisión de Debian ' de no ap ut
/usr/local/sbin:/usr/sbin:/sbin
en la RUTA predeterminada para usuarios normales. El enfoque de Ubuntu ' parece más fácil de usar para todos, excepto para los usuarios más experimentados.
Respuesta
En la Política de Debian está escrito que Debian sigue la Jerarquía de archivos Estándar versión 2.3. La nota n. ° 19 del estándar dice:
Decidir en qué se incluyen " sbin " directorios es simple: si un usuario normal (no un administrador del sistema) alguna vez 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, archivos como chfn que los usuarios solo usan ocasionalmente deben colocarse en / usr / bin. ping, aunque es absolutamente necesario para que root (recuperación de red y diagnóstico) sea usado a menudo por los usuarios y debe vivir en / bin por esa razón.
Recomendamos que los usuarios tengan permiso de lectura y ejecución para todo en / sbin excepto, quizás, 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 binarios que todos usan y los que se usan principalmente para tareas de administración. No existe una ventaja de seguridad inherente al hacer que / sbin esté 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:/sbin
a mi ruta en Debian?
Como dice la nota, no hay ninguna razón por la que no deba hacer eso. Dado que usted es el único que usa el sistema y necesita los archivos binarios en los directorios sbin
, no dude en agregarlos a su $PATH
. En este punto, permítame guiarlo hacia una excelente respuesta sobre cómo hacerlo correctamente.
Respuesta
La única razón para no agregarlos es que hace que la finalización de las pestañas 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 tiene sentido que no sea root).