¿Por qué tengo que 'sudo`?

12

He seguido un par de tutoriales en mi RPi y muchos comandos comienzan con sudo; ¿Qué significa y qué hace?

Alex Chamberlain
fuente
Meta pregunta: meta.raspberrypi.stackexchange.com/questions/97/…
Alex Chamberlain
77
Esta es una gran pregunta, me imagino que muchos principiantes quieren información sobre esto.
berry120
@ berry120 sí, pero habría sido más adecuado para Unix / Linux SE porque las personas también ejecutan su Pi en otros sistemas operativos (¡te estoy mirando, RISC OS!)
evamvid
¿Qué? ¡Pregunta de un año! hacer que 2 años!
evamvid
@evamvid Esta fue una de las primeras preguntas de ejemplo en RPi.SE ...
Alex Chamberlain

Respuestas:

21

sudosignifica Super User Do; le permite ejecutarse como otro usuario, generalmente el superusuario ( root), para llevar a cabo tareas administrativas, como actualizar el software, cambiar los sistemas de archivos e iniciar demonios.

roottiene el máximo poder y puede ejecutar casi cualquier cosa. Por lo tanto, puede causar mucho daño a su sistema y, en el peor de los casos, tendrá que comenzar de nuevo.

Siempre debe comprender lo que hace un comando antes de ejecutarlo.

¿Por qué tenemos sudo?

Por razones de seguridad, los usuarios normales no pueden hacer todo. Le impide hacer algo demasiado malo por accidente y evita que usuarios malintencionados dañen el sistema.

¿Por qué no iniciamos sesión como rootcuando queremos permisos elevados?

sudopermite a los administradores controlar qué comandos puede ejecutar cada usuario root. Por ejemplo, su administrador puede permitirle ejecutar apt-getcomo root, pero nada más. Además, todos los comandos ejecutados a través de sudoestán conectados /var/log/auth.log.

Otras distribuciones

La imagen predeterminada de Debian se ha sudoinstalado de antemano, pero otras no. A menudo puede instalarlo utilizando el administrador de paquetes de distribución, o investigar otras formas de obtener permisos de root.

Arco

Puede instalar sudousando pacman: ejecutar pacman -S sudocomo root. Luego debe agregar un nuevo usuario y deshabilitar la rootcuenta.

su

En Arch Linux (y otras distribuciones que lo admiten), puede usar el sucomando (usuario sustituto) para asumir la identidad de cualquier otro usuario (incluido root). Esto significa que todos sus comandos futuros (en la sesión actual) tendrán sus permisos. Sin embargo, necesitará su contraseña y los comandos que ejecute no se registrarán necesariamente.

Ver también:

Alex Chamberlain
fuente
1
¿Crees que la información sobre supodría ser útil para completar realmente la respuesta?
Alex L
¿Proponer una edición bajo el encabezado Otras distribuciones?
Alex Chamberlain
Además de esto, tiendo a escribir "sudo bash" tan pronto como cargo mi pi para evitar tener que escribir sudo todo el tiempo. Esto le permite ejecutar todo con privilegios de superusuario. Obviamente, esto es un poco peligroso, pero con el rpi hay muy poco que puedas hacer.
phalt
1
¡Es un hábito muy malo!
Alex Chamberlain
1
@phalt ¿Por qué no inicias sesión como root entonces?
Jivings
2

Por lo general, lo usa para ejecutar un comando particular como root, en lugar de su usuario actual. Por razones de seguridad, la norma en el mundo de Linux es que su usuario principal tenga privilegios limitados y que cambie a root cada vez que necesite hacer algo para lo que no tiene privilegios (como instalar paquetes).

Root es un poco como un administrador en el mundo de Windows: es su mejor usuario "puede hacer cualquier cosa".

berry120
fuente