Fórum Ubuntu Linux - PT

Suporte Técnico => Servidores => Tópico iniciado por: neowolfer em 19 de Dezembro de 2008, 17:18

Título: Como Verificar Usuário logado
Enviado por: neowolfer em 19 de Dezembro de 2008, 17:18
como que eu faço pra verificar se tem duas pessoas logado por SSH com o mesmo usuário

teria como fazer isso por shell script, tipo colocando no profile, assim que a pessoa logar verificar se aquele usuário ja esta logado e duplicado derrubar eles...

pra derrubar eu sei que da pra usar killall $USER

o problema esta sendo na verificação, por que tem que acusar duplicidade, se eu só verificar se esta logado vai derrubar todo mundo que logar, a questão é tem como verificar duplicidade de acesso?
Título: Re: Como Verificar Usuário logado
Enviado por: Felix em 19 de Dezembro de 2008, 17:47
com o comando: w você pode verificar quais usuários estão conectados, qual terminal, há quanto tempo, e o que ele está executando no momento. Daí basta usar a imaginação, há também o comando who (não sei dizer qual a diferença entre os dois comandos.)
Título: Re: Como Verificar Usuário logado
Enviado por: neowolfer em 19 de Dezembro de 2008, 18:11
o problema esta sendo pegar esses dados e tratar eles...

por que é um processo que terá que ser feito automatico e não por um usuário administrador
Título: Re: Como Verificar Usuário logado
Enviado por: LinuxMan em 22 de Dezembro de 2008, 16:27
Bom gente, eu fiz usando ShellScript, deve haver uma maneira mais fácil.
Vou explicar o código:
- w: me mostrou os usuários e mais detalhes.
- grep "pts/": pegou apenas os usuários do ssh.
- awk '{print $1;}': pegou apenas os nomes dos usuários.
- sort: colocou em ordem alfabética.
- awk 'BEGIN {anterior=""}{ if(anterior==$1){print "ps ax |grep ssh|grep "$1;}else{anterior=$1;} }'|/bin/sh: printou o número dos processos dos usuários que estão logados em 2 ou mais terminais.
- awk '{print "kill "$1;}'|/bin/sh: Mata os processos dos usuários logados em 2 ou mais terminais.

Arquivo elimina.sh
Código: [Selecionar]
#/bin/bash
#developer: www.linuxmanhelp.com
w | grep "pts/" | awk '{print $1;}'|sort  |
awk 'BEGIN {anterior=""}{ if(anterior==$1){print "ps ax |grep ssh|grep "$1;}else{anterior=$1;} }'|
/bin/sh |
awk '{print "kill "$1;}'|
/bin/sh

Testei e no meu servidor de teste e funcionou corretamente.


Título: Re: Como Verificar Usuário logado
Enviado por: Chucknoris em 23 de Dezembro de 2008, 12:49
O comando  smbstatus também mostra os usuários logados na rede samba, não sei se é isso que tu precisas...
Título: Re: Como Verificar Usuário logado
Enviado por: LinuxMan em 23 de Dezembro de 2008, 20:07
 ??? ??? ??? ???

Mas foi perguntado sobre SSH e não samba.

 ??? ??? ??? ???
Título: Re: Como Verificar Usuário logado
Enviado por: Chucknoris em 24 de Dezembro de 2008, 01:10
Foi mal eu não li a pergunta, fui pelo impulso pelo assunto do tópico...