examine o comando logname
. logname imprimirá o nome de usuário do usuário que efetuou login no terminal de controle, conforme fornecido pelo log de utmp.
tk-mbp:~ tkennedy$ id -g -rn
staff
tk-mbp:~ tkennedy$ id -u -rn
tkennedy
tk-mbp:~ tkennedy$ logname
tkennedy
tk-mbp:~ tkennedy$ su -
Password:
tk-mbp:~ root# id -g -rn
wheel
tk-mbp:~ root# id -u -rn
root
tk-mbp:~ root# logname
tkennedy
Este exemplo se do Mac OS X, portanto, o uso do comando id
pode diferir de outros sistemas operacionais, no entanto, o uso do logname é consistente entre o Mac OS X, Linux e Solaris, que são todos os SOs I ter à noite para testar com.
Usando logname, você pode assumir que, se o usuário retornado pelo comando id
for não igual ao usuário retornado por logname
, a sessão atual do shell será executada em su, ou sudo, ou alguma outra ferramenta que permita a mudança de privilégios em um shell.