¿Cuáles son las diferencias técnicas entre los dos? Lo único que noté es que
sudo su
requiere que ingreses tu propia contraseña (asumiendo que no eres root)
Mientras
su root
requiere que ingrese la contraseña de root. Sin embargo, ambos parecen iniciar sesión en la cuenta de usuario root.
Respuesta1
Hay una sutil diferencia entre los dos. su root
(que puede abreviarse a simplemente su
) ejecuta el comando su como el usuario que lo invocó. sudo
ejecuta el comando especificado ( su
) como root. Ejecutarlo su
como root es esencialmente una operación no operativa, aunque probablemente inicia un nuevo shell. Correr sudo -i
es una forma más limpia (en mi opinión) de correr sudo su
.
Además, como se señaló anteriormente, no hay una contraseña de root en una instalación predeterminada de Ubuntu, por lo que la invocación su
por sí sola fallará.
Respuesta2
El segundo comando no se puede ejecutar en una instalación predeterminada de Ubuntu, donde la root
cuenta no está habilitada.
Pero suponiendo que haya desbloqueado la root
cuenta dándole una contraseña, creo que los dos comandos solo podrían diferir en el entorno y el conjunto de variables de Shell. Compare el resultado de env
en las dos situaciones, y tal vez también el resultado de set
para ver las diferencias.
Respuesta3
Otra diferencia; el comando sudo usa TU contraseña y debes estar autorizado en el archivo /etc/sudoers. El archivo sudoers define qué comandos puede ejecutar usando sudo. El comando su utiliza la contraseña ROOT. que debe ser conocido.
Dependiendo de las opciones, puedes retomar las raíces del entorno o llevar las tuyas adelante.
Utilizo "sudo bash" para obtener un shell raíz. Eso es casi idéntico (tal vez lo sea, no estoy seguro) a "sudo -i". El entorno se controla de esta manera "sudo su - other_user" obtiene el entorno para other_user. Pero "sudo su other_user" lleva su entorno bajo el UID de other_user. Eso significa que sus alias y demás estarán disponibles.
Además, los resultados de la auditoría son diferentes en los registros de auditoría cuando se utiliza su frente a sudo. Más trazabilidad con sudo. Por último, para su, usted proporciona la contraseña de root y tiene problemas de mantenimiento. Si autorizas a personas con sudo, simplemente actualizas el archivo sudoers para agregar o eliminar personas y ellos solo tienen que recordar su propia contraseña. Sudoers también te permite decidir qué pueden hacer otros.
Respuesta4
sudo -i es cómo se hace, al menos a partir de las 11.00, no estoy seguro si antes o después del 12.04.
Lleva su entorno hacia adelante bajo el UID de other_user. como se dijo anteriormente