¿Por qué se necesita sudo para reiniciar en la terminal pero no desde la GUI?

10

Cuando enciendo mi máquina e inicio sesión en mi cuenta, puedo hacer lo que quiera e incluso apagar mi máquina o decir reiniciar.

Pero si abro la terminal e intento ejecutar el comando rebooto shutdownnecesito tener acceso de root. ¿Por qué esto es tan?

Puedo pensar en algunas razones por las cuales este tipo de comportamiento puede ser deseable para usted, sshpero no estoy seguro de ello, o puedo estar perdiendo totalmente algún punto.

Aman Deep Gautam
fuente
Verifique dbusy su entorno gráfico (por ejemplo, KDE o gnome).
Hennes
Creo que puedes hacerlo en todos gui, solo quiero saber por qué existe esa característica de diseño.
Aman Deep Gautam

Respuestas:

7

Es una característica de seguridad.

Al usar la GUI, usted está (típicamente) sentado frente a la computadora en la que está trabajando. Sin embargo, cuando usa un terminal, puede estar físicamente en una máquina y remotamente usando otra. Es posible que tenga muchas ventanas de terminal abiertas para muchas máquinas diferentes. ¿Qué pasa si accidentalmente escribe reiniciar en el incorrecto? Esa acción podría variar desde un inconveniente hasta un desastre completo.

Al usar sudo te obliga a usar una contraseña. Si escribe la contraseña incorrecta, le dará un error y, con suerte, se dará cuenta de que está en la terminal incorrecta. Es por eso que es una buena práctica tener una contraseña de root diferente en cada servidor.

Keltari
fuente
También pensé lo mismo, pero solo quería asegurarme de que no me faltaba algo ... :)
Aman Deep Gautam
1
He visto a más de unos pocos administradores de Unix eliminar el nombre de la computadora de sus indicaciones de shell porque tomó mucho espacio y luego lamento esa decisión.
Keltari
Tenga en cuenta que no es exactamente una característica de seguridad en el sentido que se entiende aquí. Cuando comenzó Unix, solo tienes consolas (sin GUI). Y solo el usuario root tenía permiso para apagar / reiniciar. Sigue siendo así. La GUI omite el uso del bit + s en los archivos. Aunque puede eliminar los de su menú con estos comandos: askubuntu.com/questions/53308/…
Alexis Wilke
Acabo de ver que mi máquina virtual CentOS dice que "reiniciar" no era un comando cuando fui surooteado como root. Escribí sudo rebootallí y funcionó. Cuando directamente SSH en la raíz, rebootfunciona bien. Es raro.
Steven Lu
@StevenLu Comprueba tus caminos. ("echo $ {PATH}") Es probable que en algunos casos un directorio "sbin" no esté en su ruta. En ese caso, la rareza podría no estar con el comando de reinicio. Usar "que reiniciar" también podría ayudar a explicar.
TOOGAM
0

Por lo general, puede reiniciar desde la terminal presionando Ctrl + Alt + Supr. Eso no funciona de forma remota. (Reiniciar de forma remota desde la GUI sin privilegios tampoco funciona).

Joshua
fuente