* Cambiar a un usuario específico: Puede usar `su` para convertirse en cualquier usuario en el sistema, no solo root. Por ejemplo, `su jane_doe` lo cambiaría al usuario" jane_doe ", suponiendo que tenga los permisos necesarios (generalmente solo es posible si tiene root o tiene una contraseña para ese usuario). Esto es útil para probar o solucionar problemas desde la perspectiva de un usuario diferente.
* especificando un shell: Puede especificar qué shell usar después de cambiar los usuarios. Por ejemplo:`su -c"/bin/bash -l "jane_doe` esto ejecutará un shell de inicio de sesión (` -l`) como usuario "jane_doe" usando bash. La opción `-C` le permite ejecutar un solo comando como el usuario especificado.
* Uso de la opción `-M` para un nuevo entorno de inicio de sesión: La opción `-M` crea un nuevo entorno de inicio de sesión para el usuario especificado. Esto normalmente establecerá las variables de entorno del usuario y ejecutará los scripts de inicio de sesión del usuario. Esto proporciona una emulación más completa de iniciar sesión como ese usuario directamente. Sin `-m`, heredará algunas de sus variables de entorno originales.
* Ejecutando un solo comando: Como se mencionó anteriormente, la opción `-C` ejecuta un solo comando como el usuario especificado. Esto es útil para ejecutar una tarea específica con privilegios de usuario elevados o diferentes sin una sesión de shell interactiva completa. `` su -c "comando" usuarios "es equivalente al` comando sudo`.
Es importante tener en cuenta que usar `su` requiere conocer la contraseña para el usuario de destino. El `sudo` generalmente se prefiere para ejecutar comandos individuales con privilegios elevados porque aprovecha un sistema de permisos más seguro basado en el archivo`/etc/sudoers ', evitando la necesidad de compartir la contraseña de Root.