Como grep todos os usuários logados?

1

Como grep todos os usuários logados de uma lista de usuários no Linux (Ubuntu)?

Até agora eu cheguei:

cat /etc/passwd | grep "/home" | cut -d: -f1
    
por Mythul 12.05.2013 / 13:14

2 respostas

5

como comentado acima, w ou quem mostra quem está logado ..

Você também pode ver os dados históricos / atuais no lastlog

e lastb para os últimos logins incorretos.

w|grep pts|awk '{print $1}'



for ids in $(w|grep pts|awk '{print $1"_"$2}'); do id=${ids%%_*}; pts=${ids##*_}; actualperson=$(getent passwd $id|awk '{print $5}'); echo "Username: $id  is $actualperson and is logged into $pts";  done;

Nome de usuário: xxx é e está logado em pts / 0

Nome de usuário: xxx é e está logado em pts / 5

 for ids in $(w|grep pts|awk '{print $1"_"$2}'); do 
   id=${ids%%_*};
   pts=${ids##*_}; 
   actualperson=$(getent passwd $id|awk '{print $5}'); 
   # echo to your console the persons details
   echo "Username: $id  is $actualperson and is logged into $pts"; 
   # Send a message to person logged in telling them you know their logged in
   echo "I know your logged in $actualperson"|tee /dev/$pts 2>&1>/dev/null;  
 done;
    
por 12.05.2013 / 13:34
4

O comando users provavelmente será útil. Na página do manual:

users  -  print the user names of users currently logged in to the current host
    
por 12.05.2013 / 13:26

Tags