Un ejemplo del comando su bajo Linux

  
                

El comando su en Linux se usa principalmente para cambiar de usuario. Puede cambiar entre usuarios normales y superusuarios. ¿Cuál es el uso del comando su? Después de usar el comando su, ¿hay otros usuarios todavía allí? Echemos un vistazo a los ejemplos del comando su en Linux con Xiaobian.

Q originales: Linux, una sesión como raíz, y otros usuarios para acceder y usar el comando su para cambiar al usuario root, lo que está ahí no es lo mismo, si la misma cosa, ejecutar el comando su tras otro Los usuarios todavía no están en el sistema? ¿Estoy intentando eliminar a otros usuarios después de ejecutar su, linux prompt, otros usuarios registrados? ¿Por qué?

Respuesta: ¡Déjame que te lo explique! En el sistema Unix, cuando el usuario inicia sesión, se crea un proceso de shell para cada usuario, que proporciona funciones interactivas. Si está utilizando bash, entonces el proceso de shell es bash, se usa ksh, el proceso es ksh y otros shells son los mismos.

Para el proceso, en su PCB de proceso (bloque de control de proceso), hay dos valores de la ID de usuario real y la ID de usuario efectiva. La llamada ID de usuario real se refiere a la identidad del proceso. Por ejemplo, actualmente soy el usuario root. El ID de usuario real del proceso que creé es el ID de root, que generalmente es 0. La identificación de usuario efectiva se refiere a la identificación del usuario que actualmente tiene derecho a usar el proceso. Por ejemplo, si tengo un automóvil, lo agruparé. El propietario de este vehículo soy yo, pero el permiso no es mío.

En general, el ID de usuario real y el ID de usuario válido son los mismos. El comando su tiene una función tal que un proceso puede ejecutarse con el permiso del propietario del comando, es decir, se puede hacer el ID de usuario real del proceso. Las ID de usuario válidas no son las mismas. Puede usar ls -l para ver el comando su. Debe estar s (small s) en el bit de permiso x de su propietario. El comando passwd es el mismo, tienen la misma función. Este bit de s significa que el usuario que ejecuta el comando puede ejecutar con el permiso del propietario del comando. Si cancela el bit de s, solo el propietario de su puede.

Ahora vamos a explicarlo más. Espero que puedas entenderlo.

Cuando ejecutamos su como root, el comando su creará un nuevo proceso de shell con el proceso de shell actual como el proceso principal. Este proceso de shell se proporciona al usuario que queremos utilizar, y root. El proceso de shell todavía existe, y viceversa, esta es la razón por la que hizo la pregunta, ya que el proceso de shell del usuario anterior no se ha cerrado, puede usar exit para salir, puede ver, no cerrar sesión, En su lugar, volver al usuario anterior. Como son la relación entre los procesos padre e hijo, el final del proceso hijo no afectará, por supuesto, la ejecución del proceso padre. Pero si matamos a la fuerza el proceso padre, lo dejaremos directamente.

De hecho, muchas personas no entienden la diferencia entre whoami y quién soy yo, su rol es diferente.

who am i muestra el ID de usuario real del proceso de shell actual.

whomai muestra un ID de usuario válido para el proceso de shell actual.

Muchas veces, las dos salidas son iguales, por lo que pensamos que los dos comandos tienen el mismo efecto.

Ejemplo: root @ yunhw-Aspire-4750G: ~ # who am i

root pts /0 2011-12-10 13:13 (: 0.0)

root @ yunhw-Aspire-4750G: ~ # whoami

root

root @ yunhw-Aspire-4750G: ~ # ps -ef

root 2939 2935 0 13:18 pts /0 00:00:00 bash

root @ yunhw-Aspire-4750G: ~ # su - yunhw

yunhw @ yunhw-Aspire-4750G: ~ $ quién soy yo

root pts /0 2011-12-10 13:13 (: 0.0)

yunhw @ yunhw-Aspire-4750G: ~ $ worami

yunhw

root @ yunhw-Aspire-4750G: ~ # ps -ef

root 2939 2935 0 13:18 pts /0 00:00:00 bash

yunhw 2958 2939 0 13:19 pts /0 00 : 00: 00 su - yunhw

yunhw 2966 2958 7 13:19 pts /0 00:00:00 -su

root @ yunhw-Aspire-4750G: ~ # sudo kill -9 2939

Una vez que se ejecute este comando, se cerrará por completo.

Lo anterior es el uso del comando su en Linux. El comando su se usa para explicar el uso específico del problema. También proporciona una referencia a los usuarios que han encontrado el problema. ¿Ha aprendido? ?

Copyright © Conocimiento de Windows All Rights Reserved