quinta-feira, janeiro 17, 2008

Deslogar v2.0

O quê o Deslogar v2.0 faz:

  1. Lista todos os usuários que estão logados no sistema. No nosso caso, serão mostradas apenas os usuários das estações LTSP.
  2. Permite selecionar vários usuários e deslogá-los

Dependência de pacotes:

  1. Zenity
  2. Slay

Utilizei Shell Script + Zenity e a tela é essa aí:

Deslogar v2.0

O seu código original é esse:

#!/bin/bash

## Ferramenta criada pela Equipe de Desenvolvimento - PISD - Programa de Inclusao Socio-Digital do Estado da Bahia.
## Desloga os usuarios das estações LTSP
## Arquivo criado em 13/11/2007

##
# Pegando valor do ID
ID=$(cat /etc/idconf)

if [ -z $ID ]; then
# Se nao encontrar ID aparece essa mensagem de erro.
zenity –error –title “ERRO” –text “ID não encontrado, por isso o programa não será executado.\nEntre em contato com a Central de Atendimentos.”
else
DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0″ –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | grep ${ID}E | egrep -v ‘(pts|admin|admintec|root)’ | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)

if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)
fi
fi

Pode selecionar um, vários ou todos os usuários:

Deslogar v2.0

Lembrando que pra utilizar o Deslogar v2.0 é preciso ter privilégio de root ;)

Mas pra quem usa LTSP e deseja utilizar essa ferramenta, pode utilizar esse código:

#!/bin/bash

## Ferramenta criada por Ataliba Neto - ataliba”ARROBA”atalibaneto.com.br
## Desloga os usuarios conectados no sistema
## Depende dos pacotes: Zenity e Slay
## Arquivo criado em Wed, 14 Nov 2007 15:43:35 -0300

DESLOGAR=$(zenity –list –multiple –print-column=2 –width=400 –height=400 –title “Deslogar v2.0″ –text “Selecione o(s) usuario(s) que deseja deslogar:” –column “Estacao” $(w -h | awk ‘{print $3″ “$1}’ | sort -n) –column “Usuario”)

if [ ! -z $DESLOGAR ]; then
slay $(echo $DESLOGAR | tr ‘|’ ” “)

fi

Só que esse código não é 100% funcional, pois utilizei o comando ‘w’ do Linux para listar os usuários, e esse comando possui uma problema. Ele só lista os oito primeiros caracteres dos usuários, ou seja, se o usuário for ‘atalibaneto’ ele só vai listar ‘ataliban’ e o Deslogar v2.0 não vai funcionar. Pra isso vou usar o comando ‘finger’ que lista o nome do usuário completo, mas ainda não terminei.

By http://atalibaneto.wordpress.com/2007/11/14/deslogar/