SU VS. SU -

SU VS. SU -
La diferencia entre el SU y la guión SU - los comandos son el SU El comando sin argumentos mantiene casi todas las variables de entorno pertenecientes al usuario original. Contrariamente a esto, los guiones SU - El comando borra la mayoría de las variables de entorno.

No estamos hablando de dos comandos diferentes, sino de un comando sin una bandera específica (el guión es un indicador) y el mismo comando con la bandera.

Escribir SU: es lo mismo que escribir Su -L; Ambos comandos borrarán la mayoría de las variables de entorno. Por lo tanto, antes de continuar con este artículo, veamos qué es una variable de entorno.

Variables de entorno en Linux:

Las variables de entorno son valores utilizados para definir características del entorno en el que los procesos de shell y sus procesos infantiles se ejecutan, por ejemplo, los procesos usan la variable de entorno $ shell para conocer el shell en uso (bash, zsh, etc.).

El sistema tiene muchas variables; Este artículo se centrará en las variables afectadas cuando usemos el SU dominio.

Para ver todas las variables en su sistema, puede ejecutar el exportar Comando como se muestra a continuación.

exportar

Como verá en la captura de pantalla anterior, hay muchas variables en nuestro sistema. Nos centraremos en las variables específicas HOGAR, CAPARAZÓN, USUARIO, Nombre de logn, y CAMINO.

La primera variable que veremos es CAMINO. Los valores de esta variable de entorno son útiles para que el sistema sepa dónde encontrar los comandos o programas para ejecutar. La variable de entorno del sistema predeterminado CAMINO se define en el /etc/perfil archivo. Las variables de ruta de los usuarios se encuentran dentro de sus directorios de origen en ~/.perfil.

Para aprender los valores variables de su entorno de ruta, puede usar el eco comando seguido de la ps símbolo y la variable de entorno que desea verificar en este caso, CAMINO, Como se muestra en el ejemplo a continuación.

Echo $ Path

Como puede ver, el sistema devuelve las variables de entorno definidas para nuestro sistema para saber dónde buscar y encontrar los comandos que queremos ejecutar.

La segunda variable de entorno explicada en este artículo es la variable de shell. El valor de esta variable le dice al sistema qué shell estamos usando, si Bash, ZSH, KSH, etc.

Para ver el valor de su variable de entorno de shell, repita el paso explicado anteriormente, reemplazando la ruta $ con $ shell, como se muestra en la captura de pantalla a continuación.

Echo $ shell

Y como puedes ver, el caparazón es Bash. Así es como nuestro sistema sabe qué shell estamos usando, con el valor que se muestra arriba.

Otra variable de entorno importante en Linux es $ Inicio. Este valor indica cuál es el directorio de inicio del usuario. Para aprender este valor, puede ejecutar el comando a continuación.

Echo $ Home

El valor de la variable de entorno $ logname es el usuario en el que se registra como.

echo $ logname

El valor variable de entorno de $ usuarios es la ID de usuario, que es la misma que $ logname.

Echo $ usuario

Las variables de entorno explicadas anteriormente son las afectadas por el SU comandar cuando el guión o el -l Se agregan bandera.

Diferencia entre los comandos "SU" y "SU -":

La diferencia entre el SU comando sin banderas y SU con un guión o -l es el comando sin banderas mantiene sus variables de entorno y solo cambia al usuario.

Cuando se usa con guiones o el -l Bandera, la mayoría de las variables de entorno se limpian.

El siguiente ejemplo muestra el Linuxhint El usuario cambia a root usando SU sin opciones.

Luego, después de verificar la variable de entorno $ logname, vemos que sigue siendo como Linuxhint y no root.

SU
echo $ logname

Al contrario del ejemplo anterior, si se implementa el guión, se actualizará a root al verificar la variable $ logName.

SU -
echo $ logname

Probemos lo mismo con la variable de entorno de usuario $.

SU
Echo $ usuario

Como puede ver, al hacer su como como Linuxhint Para cambiar a root y verificar la variable $ usuario, sigue siendo como Linuxhint.

Contrariamente al ejemplo anterior, si implementa el guión, la variable $ usuario se borrará y actualizará como se muestra a continuación.

SU -
Echo $ usuario

Para finalizar este tutorial, este último ejemplo muestra el -l la bandera hace exactamente lo mismo que el guión.

su -l
echo $ logname
Echo $ usuario

Conclusión:

Las variables de entorno son un concepto básico que cualquier usuario de Linux debe conocer. Una vez que comprenda su función, puede darse cuenta fácilmente de la diferencia entre el SU comando sin y con el -l bandera (que es lo mismo que el guión SU). Si le gustó este tutorial, es posible que desee leer la administración de privilegios de sudo en Linux.

Espero que este artículo muestre la diferencia entre "SU" y "SU -"Fue útil. Sigue este blog para obtener más tutoriales y consejos de Linux.