[shell-script] Matar usuário duplicados

2006-11-27 Por tôpico slaypher_df
Olá! Sou iniciante no mundo maravilhoso do Shell Script e estava a
treinar minhas habilidades quando me deparei com a seguinte situação:

Precisava filtrar e listar os usuarios duplicados no sistema, ou seja,
os que estavam com 2 logins ao mesmo tempo e matar esses usuarios.
Menos o root. Eu fiz o seguinte:

who | cut -f1 -d" " | sed -n '/root/!p' | uniq -d | xargs killall -u

Deu parcialmente certo, ele filtra apenas os usuario duplicados e
exclui o root da jogada, mata todos os processos pelo login name mas
não finaliza a sessão no terminal. Então como não sei qual outro
comando pode finalizar a sessao do usuario pelo nome, tive que depois
de todo esse filtro, pegar o pid dos processos do usuario tal e
finalizar da seguinte forma:

kill -9 `who | grep -v root | cut -f1 -d" " | uniq -d | xargs ps
--user | sed -n '/[0-9]/p' | cut -f2 -d" "`

Minda dúvida é se o que eu fiz tem como ser melhorado e se tem,
gostaria de saber e espero posts de vocês com melhores ideias para
esse meu problema. Gostaria também da opnião pra saber se foi uma boa
saida o que eu fiz, pelo menos pra um mero aprendiz como eu.

Carlos Vinicius





[shell-script] Re: Matar usuário duplicados

2006-11-28 Por tôpico slaypher_df
--- Em shell-script@yahoogrupos.com.br, "slaypher_df"
<[EMAIL PROTECTED]> escreveu
>
> Olá! Sou iniciante no mundo maravilhoso do Shell Script e estava a
> treinar minhas habilidades quando me deparei com a seguinte situação:
> 
> Precisava filtrar e listar os usuarios duplicados no sistema, ou seja,
> os que estavam com 2 logins ao mesmo tempo e matar esses usuarios.
> Menos o root. Eu fiz o seguinte:
> 
> who | cut -f1 -d" " | sed -n '/root/!p' | uniq -d | xargs killall -u
> 
> Deu parcialmente certo, ele filtra apenas os usuario duplicados e
> exclui o root da jogada, mata todos os processos pelo login name mas
> não finaliza a sessão no terminal. Então como não sei qual outro
> comando pode finalizar a sessao do usuario pelo nome, tive que depois
> de todo esse filtro, pegar o pid dos processos do usuario tal e
> finalizar da seguinte forma:
> 
> kill -9 `who | grep -v root | cut -f1 -d" " | uniq -d | xargs ps
> --user | sed -n '/[0-9]/p' | cut -f2 -d" "`
> 
> Minda dúvida é se o que eu fiz tem como ser melhorado e se tem,
> gostaria de saber e espero posts de vocês com melhores ideias para
> esse meu problema. Gostaria também da opnião pra saber se foi uma boa
> saida o que eu fiz, pelo menos pra um mero aprendiz como eu.
> 
> Carlos Vinicius
>

Ninguém pra me ajudar com essa questão?! Preciso de orientação.