¿Por qué se llama sudo?

28

¿Por qué usamos sudo para realizar un comando de terminal como administrativo? ¿Por qué no es admin o algo más? ¿Hay alguna razón para sudo ?

    
pregunta Mohammad 26.05.2014 - 03:46

8 respuestas

31

De Wikipedia :

  

sudo es un programa para Unix   sistemas operativos de computadora que permiten a los usuarios ejecutar programas con   privilegios de seguridad de otro usuario (normalmente el superusuario, o   raíz). Su nombre es una concatenación de "su" (usuario sustituto) y   "hacer", o tomar medidas.

     

A diferencia del comando su, los usuarios suelen proporcionar su propia contraseña para   sudo en lugar de la contraseña de root. Después de la autenticación, y si   / usr / local / etc / sudoers (a veces se encuentra en / etc / sudoers) configuración   archivo permite el acceso del usuario, entonces el sistema invocará el   comando solicitado El archivo de configuración de sudoers permite un enorme   cantidad de configurabilidad, que incluye pero no se limita a: habilitar la raíz   comandos solo desde el terminal invocante; no requiere una contraseña para   ciertos comandos; requiriendo una contraseña por usuario o grupo; requerir   reingreso de una contraseña cada vez o nunca requiere una contraseña en absoluto   para una línea de comando particular. También se puede configurar para permitir   pasar argumentos o comandos múltiples, e incluso admite comandos   con expresiones regulares.

Es un comando temporal único con privilegios de superusuario (administrador) sin inicio de sesión raíz directo.

    
respondido por el Virusboy 26.05.2014 - 03:59
20

Antes de sudo , la mayoría de los administradores habían iniciado sesión como usuario root porque es una forma fácil de configurar su sistema, ya que tiene todos los derechos. Sin embargo, un pequeño error o un enlace de Internet incorrecto y todo su sistema podrían verse afectados o incluso verse comprometidos.

Debido a este problema, sudo apareció . El objetivo era usar privilegios administrativos solo por un corto período de tiempo, y solo cuando sea necesario. Además, esto evitaría que el usuario inicie sesión en otra cuenta. Esto obviamente mejoraría la seguridad del sistema .

En Ubuntu , eligen mejorar la seguridad de su sistema. Por lo tanto, decidieron seguir el camino 'sudo'. El usuario raíz está deshabilitado; no es necesario y especialmente no hay riesgo de que un usuario inicie sesión a través de la interfaz X con el usuario raíz. Además, han permitido que cada comando se inicie con sudo para usuarios autorizados. Lo bueno es que los usuarios avanzados pueden acceder a la cuenta raíz.

Inconvenientes de sudo :

  • Qué comandos permitir a través de sudo
  • Necesita escribir sudo antes de cada comando que requiera privilegios administrativos
  • De vez en cuando necesita volver a escribir la contraseña .

¿Qué significa sudo ? Su nombre es una concatenación de "su" (usuario sustituto) y "do".

¿Por qué sudo not admin ? Creo que sudo significa admin por un tiempo específico y solo cuando lo necesites.

Las personas que provienen del entorno de Windows deben comprender por qué no es admin :)

Referencias: Sitio
Imagen: xkcd

    
respondido por el nux 26.05.2014 - 18:43
10

De Linux.com, un producto de la Fundación Linux:

  

Sudo significa " usuario sustituto do " o " super usuario do " (dependiendo de cómo quiera verlo). Lo que sudo hace es increíblemente importante y crucial para muchas distribuciones de Linux. Efectivamente, sudo le permite a un usuario ejecutar un programa como otro usuario (más a menudo el usuario raíz).

[Énfasis mío] Fuente

    
respondido por el Cerran 26.05.2014 - 11:06
3

superusuario hacer

Hay un comando, su, para convertirse en superusuario, por lo que podría decir

$ su
# apt-get install somehorror
# exit
$

sudo te permite hacerlo de una vez, y no tienes que recordar renunciar a tus poderes mágicos.

$ sudo apt-get install somehorror
    
respondido por el John Lawrence Aspden 26.05.2014 - 14:25
3

En cuanto a por qué no es "admin", o más indirectamente, por qué su no es "switchUser" o algo así, los comandos tradicionales de Unix tienden a ser abreviaturas mínimas por razones históricas que tienen que ver con los orígenes de Unix.

Por la razón más básica, debemos volver a la misma razón por la que se llama Unix en primer lugar. Gran parte de Unix se inspiró en uno de los primeros sistemas operativos multiusuario multitarea, Multics de MIT. (Unix recibe su nombre como "el singular de Multics" o "Multics castrados", dependiendo de a quién le pregunte y su estado de ánimo en este momento).

Entre otras innovaciones de Multics, introdujo el concepto de separar la ubicación del archivo real de la información del directorio, lo que permite que un único archivo tenga varios nombres. ("Enlaces", en términos de Unix). Los Multics tomaron (excesivamente) la ventaja completa de esto; la mayoría de los comandos de Multics tienen ALongNameThatIsImpossibleToType y ASNTOECR (un nombre corto que solo los expertos pueden recordar). La experiencia demostró que los nombres largos realmente no aportaban mucha facilidad de uso ya que, en realidad, en ese momento todos los usuarios eran o se convertían rápidamente en "expertos" y casi nadie usaba los nombres largos. Cuando Unix adoptó parte del diseño de Multics, una de sus simplificaciones fue descartar los nombres largos no utilizados y mantener solo los nombres cortos de expertos.

Esto también encaja bien con la filosofía de Unix de reducir el sistema operativo y su conjunto de comandos básicos a sus elementos esenciales, lo que le permite funcionar de manera eficiente en sistemas más pequeños. En aquellos días los programadores seguían conservando cada byte y ciclo posible. Los procesadores eran tremendamente más lentos, las velocidades de los terminales también eran tremendamente más lentas, y la memoria era tremendamente más cara (y más lenta, y tenía cachés pequeños, si es que existían). Mantener los comandos del sistema a una longitud mínima puede no haber ahorrado muchos (si los hay) recursos reales, pero "se consideró correcto" para la mentalidad del momento.

Si realmente insistes en utilizar nombres de comandos fáciles de usar, la respuesta de Unix sería "Ya sabes cómo escribir un script de shell", impleméntalo tú mismo. Si no sabes cómo escribir un script de shell, debes aprender cómo hacerlo. Si no te gusta aprender y / o codificar, no estarás contento con Unix y deberías usar algo más ".

    
respondido por el keshlam 27.05.2014 - 01:39
3

Si " superusuario " es de lo que su proviene originalmente, no es correcto ya que el nombre de usuario que le da no tiene que ser un superusuario. Lo mismo ocurre con la ejecución de comandos como otro usuario que usa sudo -u .

" Usuario sustitutivo " es más preciso, pero suena raro. Me hace pensar en un maestro sustituto.

Por lo tanto, prefiero pensar en su simplemente como "cambiar de usuario" y sudo como "cambiar usuario y hacer".

    
respondido por el otus 26.05.2014 - 18:27
1

Desde el sitio web de Sudo :

"¿Qué es Sudo?

Sudo (su "do") permite a un administrador del sistema delegar autoridad para darles a ciertos usuarios (o grupos de usuarios) la capacidad de ejecutar algunos (o todos) comandos como root u otro usuario mientras proporciona una pista de auditoría de los comandos y sus argumentos ".

"Sudo fue concebido e implementado por Bob Coggeshall y Cliff Spencer alrededor de 1980 en el Departamento de Ciencias de la Computación en SUNY / Buffalo. Se ejecutó con un VAX-11/750 ejecutando 4.1BSD. Una versión actualizada, acreditada a Phil Betchel , Cliff Spencer, Gretchen Phillips, John LoVerso y Don Gworek, se publicaron en el net.sources grupo de noticias de Usenet en diciembre de 1985 ".

Dicho esto, aunque no creo que haya ninguna prueba, siempre he creído firmemente que el nombre era una especie de broma de programador geek. Usted tiene el comando "su" (superusuario) "do" pero en realidad no es un súper usuario - convierta el "doo" en un "doh" y "sudo" se ve / suena muy parecido a "pseudo" (falso , falso).

    
respondido por el Anaksunaman 27.05.2014 - 01:28
-2

La mayoría de la gente ha dado la respuesta de que es una combinación de "superusuario do". Me gusta esto, pero puede ser más correcto decir que es una mezcla de "usuario sustituto" porque puedes elegir qué usuario "haces" como con el indicador -u.

También lo considero un juego de palabras con la palabra psuedonym porque puedes pretender ser alguien más, ya sea root o cualquier otro usuario que use el distintivo -u.

    
respondido por el three-cups 27.05.2014 - 16:57

Lea otras preguntas en las etiquetas