Su

Su
Información sobre la plantilla
Su.png
Ejecuta una shell con identificadores de grupo y de usuario distintos.
Sistemas Operativos compatiblesGNU/Linux

su. Permite a un usuario convertirse temporalmente en otro usuario. Se ejecuta una shell con los identificadores reales y efectivos, el identificador de grupo, y los identificadores suplementarios del grupo del usuario. Si no se especifica ningún usuario, por defecto se usa root, el super usuario.

Característica

La shell a ejecutar se toma de la entrada correspondiente al usuario en el fichero de passwords, o /bin/sh si no se especifica ninguna en dicho fichero. Si el usuario tiene password, su lo solicitaría, a menos que sea ejecutado por el usuario con identificador real 0 (el super usuario).

Por defecto, su no cambia el directorio actual. Modifica las variables de entorno $HOME y $SHELL de acuerdo con la entrada del fichero de passwords correspondiente al usuario, y si el mismo no es el super usuario, coloca en las variables $USER y $LOGNAME el valor de usuario. Por defecto, la shell ejecutada no es de entrada al sistema.

Este programa no soporta el grupo "wheel", el cual restringe quien podrá ejecutar su hacia la cuenta de root (el super usuario) ya que esta polí­tica podrá ayudar a los administradores de máquinas a facilitar un uso inadecuado a otros usuarios.

Opciones

-c COMANDO, --command=COMANDO

Pasa el COMANDO, una única línea a ejecutar, a la shell con la opción -c en vez de ejecutar una shell interactiva.

-f, --fast

Pasa la opción -f a la shell. Esto probablemente tiene sentido con csh y tcsh, en estos casos la opción -f indica que no se lean los ficheros de arranque de la shell (.cshrc). Con las shells del estilo Bourne shell, la opción -f deshabilita la expansión de los patrones de fichero, la cual cosa no es demasiado deseable.

--help

Escribe un mensaje sobre el uso en la salida estándar y acaba sin provocar error.

-l, --login

Provoca que la shell ejecute una shell de login. Lo cual significa que se eliminan del entorno todas las variables excepto $TERM, $HOME y $SHELL (las cuales se modifican como se explicó anteriormente), $USER y $LOGNAME (que se modifican, incluso para el super usuario, como se explicó anteriormente), la variable $PATH se añade al entorno con el valor por defecto que se estableció al compilar su, además de los cambios anteriores, su cambia al directorio por defecto del usuario. Si se antepone "-" al nombre de la shell a ejecutar, se leerían los ficheros de arraque pertinentes.

-m, -p, --preserve-environment

No se cambian las variables de entorno $HOME, $USER, $LOGNAME ni $SHELL. Se ejecuta la shell especificada en la variable de entorno $SHELL en vez de la shell que indique la entrada para el usuario en el fichero /etc/passwd, a menos que el usuario que ejecute su no sea el super usuario y la shell del usuario está restringida. Una shell restringida es aquella que no está listada en el fichero /etc/shells o en una lista generada al compilar su si dicho fichero no existe. Algunos detalles de lo que hace esta opción pueden ser invalidadas mediante la opción --login y --shell.

-s, --shell shell

Ejecuta la $SHELL en vez de la shell del usuario especificada en el fichero /etc/passwd, a menos que el usuario que ejecute su no sea el super usuario y la shell del usuario está estringida.

--version

Escribe información sobre la versión en la salida estándar y acaba sin provocar error.

Ficheros que usa

/etc/passwd

Información de la cuenta de usuario.

/etc/shadow

Seguridad de la cuenta de usuario.

/etc/login.defs

Configuración de las contraseñas ocultas.

Fuentes