El proceso principal del shell es su -
, y el padre de eso es el sudo su -
. Por lo tanto, debe averiguar el usuario que ejecuta sudo su -
el proceso padre buscando hacia atrás en dos pasos con ps
:
ps -o user= $(ps -o ppid= $(ps -o ppid= $PPID))
Pero no deberías estar haciendo sudo su -
si su versión de sudo no es demasiado antigua para tener sudo -i
. Sudo establece la variable de entorno SUDO_USER
al nombre del usuario que ejecutó sudo. No lo verás con sudo su -
porque su -
limpia el medio ambiente.
$ sudo -i
# echo $SUDO_USER
gilles
Ejecutar comando whoami
te devolverá algo así:
gladimdim tty2 2011-01-27 23:54 (:0)
En negrita, "gladimdim" es el usuario que inició sesión inicialmente en el sistema.