¿Por qué se llama sudo?

30

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

Mohammad
fuente
19
Leer sudo lscomo "superusuario, hacer ls" (y no, no es tonto, mnemotécnicos son importantes para recordar comandos) (y no, probablemente significa " s bruja u ser y hacer , dado que los sumedios de conmutación de usuario pero encuentro la antigua mejor.; -))
Rmano
1
superusuario mucho mejor que administrador :) gracias por responder.
Mohammad
2
Es ese sudo vudú que haces. :)
Shadur
14
Dato curioso: en italiano sudosignifica (I) sudar . Me gusta interpretar sudo Xcomo sudar por miedo a dar el comando incorrecto y borrar todos mis datos . Esto ayuda a tener en cuenta que debe agregar sudodelante de los comandos solo cuando 1) Es necesario 2) Sabe lo que está haciendo 3) Ha escrito y leído cuidadosamente la línea de comandos para evitar errores tipográficos (especialmente espacios malos que son difíciles de atrapar y puede dar lugar a resultados inesperados realmente horribles).
Bakuriu
2
@Rmano su originalmente significaba "superusuario", "usuario sustituto" vino más tarde .
Gilles 'SO- deja de ser malvado'

Respuestas:

32

De Wikipedia :

sudo es un programa para sistemas operativos de computadora tipo Unix que permite a los usuarios ejecutar programas con los privilegios de seguridad de otro usuario (normalmente el superusuario o root). 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 el archivo de configuración / usr / local / etc / sudoers (a veces encontrado en / etc / sudoers) permite el acceso del usuario, el sistema invocará el comando solicitado. El archivo de configuración de sudoers permite una gran cantidad de configurabilidad, que incluye pero no se limita a: habilitar comandos raíz solo desde el terminal de invocación; no requiere una contraseña para ciertos comandos; requerir una contraseña por usuario o grupo; requerir el reingreso de una contraseña cada vez o nunca requerir una contraseña para una línea de comando en particular. También se puede configurar para permitir pasar argumentos o múltiples comandos, e incluso admite comandos con expresiones regulares.

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

Virusboy
fuente
11
La parte wiki es correcta. El comentario sobre "Mac es Su" no es correcto. Las Mac tienen ambas sudoy su, al igual que BSD y Linux.
daviewales
@Virusboy Hola, lamento intentarlo en este tema. Pero tengo que saber ¿Es fácil usar ubuntu 14.04 con Toshiba M840 i3-3110M? Gracias.
Bonn
Es fácil en cualquier PC
Virusboy
21

xkcd: Sandwich

Antes de sudo , la mayoría de los administradores iniciaban 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 comprometidos.

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

Bajo Ubuntu , eligen mejorar la seguridad de su sistema. Por lo tanto, decidieron seguir el camino 'sudo'. El usuario root 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 le permites a través de sudo
  • Debe escribir sudoantes de cada comando que requiera privilegios administrativos
  • De vez en cuando necesita volver a escribir la contraseña .

Que sudosignifica Su nombre es una concatenación de "su" (usuario sustituto) y "do".

¿Por qué sudono admin? Creo que sudosignifica adminpara un momento específico y solo cuando lo necesitas.

Las personas que vienen del entorno de Windows deberían entender por qué no es así admin :)

Referencias: Imagen del sitio
: xkcd

nux
fuente
Entonces, ¿por qué no se llama rodo?
JamesRyan
3
Su párrafo "antes de sudo" está mal. No hay diferencia entre suy sudoa este respecto, la única diferencia entre los dos es qué credenciales se utilizan. Usar en sudolugar de suno es más seguro (de hecho, es algo menos seguro); El principal beneficio de sudo (y la razón por la que Ubuntu lo eligió) es la simplicidad para el usuario (solo una contraseña para recordar).
Gilles 'SO- deja de ser malvado'
11

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

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

[Énfasis mío.] Fuente

Cerran
fuente
3

superusuario hacer

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

$ su
# apt-get install somehorror
# exit
$

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

$ sudo apt-get install somehorror
John Lawrence Aspden
fuente
2
su("usuario sustituto") le permite convertirse en cualquier usuario: puede especificar un nombre de usuario como argumento.
David Richerby
1
En realidad, los dos no son exactamente iguales, pero son similares en la mayoría de los casos. Pero sudo principalmente solo le permite ejecutar un programa con privilegios de superusuario, pero mantiene su entorno normal igual. su realmente te hace super usuario, con un entorno de super usuario.
Marty Fried
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, necesitamos 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, MIT's Multics. (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 real del archivo de la información del directorio, permitiendo que un solo archivo tenga múltiples nombres. ("Enlaces", en términos de Unix.) Multics aprovechó (excesivamente) todo 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 agregaban mucha facilidad de uso ya que, de manera realista, en ese momento todos los usuarios eran o rápidamente se convirtieron en "expertos" y casi nadie usó los nombres largos. Cuando Unix adoptó algunos de los diseños de Multics, una de sus simplificaciones fue descartar los nombres largos no utilizados y mantener solo los nombres cortos amigables para 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 todavía conservaban todos los bytes y ciclos posibles. 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 costosa (y más lenta, y tenía pequeñas cachés si las hubiera). Es posible que mantener los comandos del sistema a una longitud mínima no haya ahorrado muchos recursos reales (si los hubiera), pero "se sintió bien" para la mentalidad de la época.

Si realmente insiste en nombres de comandos fáciles de usar, la respuesta de Unix sería "Usted sabe cómo escribir un script de shell; impleméntelo usted mismo. Si no sabe cómo escribir un script de shell, necesita aprender cómo hacerlo entonces. Si no te gusta aprender y / o codificar, no estarás contento con Unix y deberías usar algo más ".

keshlam
fuente
3

Si " superusuario " es de lo que su originalmente se deriva, es inexacto ya que el nombre de usuario que le das no tiene que ser un superusuario. Lo mismo para ejecutar comandos como otro usuario que usa sudo -u.

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

Por lo tanto, prefiero pensar susimplemente como "cambiar de usuario" y, por lo sudotanto, como "cambiar de usuario y hacer".

otus
fuente
1
siempre es súper usuario, pero sustituye el sonido del usuario más bien
BeyondProgrammer
1

Desde el sitio web de Sudo :

"¿Qué es el Sudo?

Sudo (su "do") permite que un administrador del sistema delegue la autoridad para dar 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 Informática de SUNY / Buffalo. Funcionaba con un VAX-11/750 con 4.1BSD. Una versión actualizada, acreditada a Phil Betchel, Cliff Spencer , Gretchen Phillips, John LoVerso y Don Gworek, fueron publicados en el grupo de noticias Usenet de net.sources 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. Tienes el comando "su" (superusuario) "do" pero en realidad no eres un superusuario: convierte el "doo" en un "doh" y "sudo" se parece / suena mucho a "pseudo" (falso , farsa).

Anaksunaman
fuente
-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 combinación de "usuario sustituto hacer" porque puedes elegir qué usuario "haces" como con la bandera -u.

También lo considero un juego de palabras con el nombre psuedonym porque puedes pretender ser otra persona, ya sea root o cualquier otro usuario que use la bandera -u.

tres tazas
fuente
3
Bueno, la pregunta era por qué se llama así, no por backronyms y / o mnemónicos, así que ... [cita requerida]
derobert
Además, el usuario objetivo predeterminado no tiene que ser root(aunque tiene sentido que sea o al menos uno con uid 0 y generalmente lo es), vea el runas_defaulten sudoers.
Stéphane Chazelas
@derobert +1 para el uso de "backronyms" y para mantener el sitio limpio de respuestas incorrectas.
tres tazas
@sch gracias, no lo sabía.
tres tazas