Como verificar se um usuário está logado?

1

como faço para verificar a partir de um script php, se um usuário está logado? Minha maneira atual é, para obter a saída de

w | grep <username>

e verifique se há saída. Ele funciona, se um usuário estiver logado via gdm, kdm ou ssh ou logar em um tty. Mas o que não acontece é que, se um outro usuário abrir um terminal e executar su <username> , esse processo de shell não será relatado, como obtenho isso?

    
por Florian 24.04.2011 / 11:14

1 resposta

2

Bem, se userA usar su para se tornar userB, então o userB ainda não está logado.

No entanto, e quanto a isso:

ps -u <username>

Em seguida, você pode verificar $? -eq 0 para ver se algum processo foi encontrado pertencente a esse usuário. No entanto, se houver algum processo de longa duração pertencente a esse usuário, ele ainda será exibido. Se isso não for bom, você pode verificar o shell deles.

    
por idbrii 07.05.2011 / 23:49