imprimindo usuário de subshell obtendo root via su -

2

Posso imprimir o nome de usuário que está obtendo acesso root via su - no console raiz ao obter o root?

user1$ su -
password:

obtained root via user1
#
    
por mahatmanich 27.03.2016 / 01:04

2 respostas

2

Anteriormente, eu recomendo o script abaixo ... Eu encontrei uma maneira melhor! :) Apenas exec:

logname

Além disso, você pode usar $SUDO_USER , mas não funciona se você estiver usando sudo su -
By the way, who am i é como who -m

Este script também faz o trabalho:

#!/bin/bash
curpid='awk '/^PPid:/{print $2}' /proc/$BASHPID/status'
ppui='awk '/^PPid:/{print $2}' /proc/$curpid/status'
ppui='awk '/^PPid:/{print $2}' /proc/$ppui/status'
uid='awk '/^Uid:/{print $2}' /proc/$ppui/status'
name='cat /etc/passwd | grep $uid | awk -F: '{print $1}''
echo $name

Ligue para .bash_profile se você estiver usando shells de login ou .bashrc se estiver usando shells interativos que não sejam de login.

    
por 27.03.2016 / 09:14
1

who am i|awk '{print "Obtained root via "$1}'

Adicione ao .bashrc da raiz para executar quando você su .

Você também pode tentar

pstree -p -u |grep "$$"

para ver toda a cadeia de processos com nomes de usuários. Isso pode ser útil se você aninhou su com vários usuários.

    
por 27.03.2016 / 10:35