Uma vez sudo su'd para root, existe um comando para ver meu nome de usuário?

7

Eu tenho direitos de sudo em uma caixa de redhat; uma vez que eu tenha sudo su - para se tornar root em um shell, há algum comando que eu possa executar para ver qual nome de usuário eu sui DE?

    
por Michael Campbell 27.01.2011 / 22:39

3 respostas

8

O processo pai do shell é su , então você precisa descobrir o usuário executando o processo pai de su :

ps -o user= $(ps -o ppid= $PPID)

Mas você não deveria estar fazendo sudo su - se sua versão do sudo não é muito antiga para ter sudo -i . Sudo define a variável de ambiente SUDO_USER para o nome do usuário que executou o sudo. Você não o verá com sudo su - porque su - esfrega o ambiente.

$ sudo -i
# echo $SUDO_USER
gilles
    
por 27.01.2011 / 22:53
3

Comando de execução whoami ele retornará algo assim:

gladimdim tty2        2011-01-27 23:54 (:0)

Em negrito, "gladimdim" é o usuário que foi inicialmente registrado no sistema.

    
por 27.01.2011 / 22:59
1

Eu acho que ele quis dizer:

$ who -am i

que poderia (dependendo) ser analisado da mesma forma que:

$ who -am

O "-a" lista todos os usuários atualmente conectados e "-m" filtra apenas os usuários (devem ser um) associados a quem é STDIN, o que significa dizer quem é quem está logado no seu terminal. É o que você está procurando.

$ who -am
    
por 20.09.2014 / 03:25