Ir para o conteúdo
ou

Thin logo

Tela cheia Sugerir um artigo
 Feed RSS

Grupo de Usuários Debian da Bahia - GUD/BA

7 de Dezembro de 2009, 0:00 , por Software Livre Brasil - | Ninguém está seguindo este artigo ainda.

Seja bem vind@, se você é um debiano (um baiano que usa debian) faça parte de nossa comunidade!


Deslogar v2.0

14 de Novembro de 2007, 0:00, por Software Livre Brasil - 0sem comentários ainda

Esse é meu primeiro post e vou mostrar uma nova ferramenta que estou criando para ser utilizada no Berimbau Linux

Na verdade já utilizamos um chamado de killprocess (em breve no sourceForge) criado pela nossa equipe, mas resolvi criar uma nova por causa da sua manutenção e simplicidade no código.

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.

Por enquanto é só ;)