GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿cuál es la diferencia entre `su -` y `su –login`?

Desde su La página man:

For  backward  compatibility, su defaults to not change the current directory
and to only set the environment variables HOME and SHELL (plus USER and LOGNAME
if the target user is not root).  It is recommended to always use the 
--login option (instead of  its  shortcut -) to avoid side effects caused
by mixing environments.

...

-, -l, --login
    Start the shell as a login shell with an environment similar to a real login:

        o      clears all the environment variables except TERM

        o      initializes the environment variables HOME, SHELL, USER, LOGNAME, and PATH

        o      changes to the target user's home directory

        o      sets argv[0] of the shell to '-' in order to make the shell a login shell

Es difícil saber si hay alguna diferencia entre - y --login (o supuestamente solo -l ). Es decir, la página de manual dice "en lugar de su acceso directo -", pero todas estas opciones están agrupadas y no veo una explicación de la diferencia, si es que existe.

UPD Revisé la pregunta, que se supone que resuelve mi problema. La pregunta es básicamente sobre la diferencia entre su y su - . Y estoy preguntando sobre la diferencia entre su - y su --login . Así que no, no lo resuelve en absoluto.

Respuesta aceptada:

La entrada manual de Debian parece ser más esclarecedora:

   -, -l, --login
       Provide an environment similar to what the user would expect had the user logged
       in directly.

       When - is used, it must be specified before any username. For portability it is
       recommended to use it as last option, before any username. The other forms (-l
       and --login) do not have this restriction.

Linux
  1. ¿Cuál es la diferencia entre $(cosas) y `cosas`?

  2. ¿La diferencia entre [[ $a ==Z* ]] y [ $a ==Z* ]?

  3. ¿Cuál es la diferencia entre /sbin/nologin y /bin/false?

  4. ¿Cuál es la diferencia entre un usuario normal y un usuario del sistema?

  5. ¿Cuál es la diferencia entre Print y Printf en Awk?

Comprender la diferencia entre los comandos sudo y su en Linux

¿Cuál es la diferencia entre los núcleos de macOS y Linux?

¿Cuál es la diferencia entre Linux y Unix?

¿Cuál es la diferencia entre un contenedor de Linux y una imagen?

¿Cuál es la diferencia entre Shell de inicio de sesión y sin inicio de sesión?

¿Cuál es la diferencia entre una consola, una terminal y un shell?