shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RES: [shell-script] Remover usuarios sem acesso


From: Julio Cezar Neves - DATAPREVRJ
Subject: RES: [shell-script] Remover usuarios sem acesso
Date: Wed, 15 Dec 2004 13:29:19 -0300

Proponho uma tarefa para a nossa lista. Nao sei se vcs lembram qdo alguem
quis fazer um protetor de tela tipo matrix, que rolaram diversas msgs na
lista e acabou saindo um proptetor de tela arretado.

Pois e, podemos fazer isso com o adm de correio. O Marcos ja nos passou um
script para apagar usuarios inativos, porem existem muita coisa ainda para
ser feita. O que vcs acham de adotarmos a filosofia de desenvolvimento
cooperativo do sw livre e comecarmos com essa tarefa.

Quem sabe um colega de lista nao possa providenciar um servidor CVS para
este fim? Reflitam sobre isso e facam sugestoes.

[ ]s,
Julio Cezar Neves
- Programa de Software Livre -
Tel:+55 21 2528-7070 / +55 21 8112-9988
Fax: +55 21 2528-7646
mailto:address@hidden
:wq


| -----Mensagem original-----
| De: Marcos Paulo [mailto:address@hidden]
| Enviada em: quarta-feira, 15 de dezembro de 2004 11:53
| Para: address@hidden
| Assunto: Re: [shell-script] Remover usuarios sem acesso
| 
| 
| 
| eu uso o script abaixo, de autoria minha.
| 
| os arquivos secure.mailadm e um arquivo ja criado para 
| assegurar que contas como root, e todas as contas do sistema 
| nao serao removidos.
| 
| os usuarios pop sao os q tem gid = 231 que sao do grupo popusers
| o pid eh pra evitar o cadastramento e a alteracao de qquer 
| conta pela interface web enquanto este script roda.
| 
| 
| qualquer duvida ou sugestao para melhorar o script sera bem vinda.
| 
| Att. 
| 
| Marcos
| 
| 
| #!/bin/sh
| ##############################################################
| ############
| #                                                             
|            #
| #                                                             
|            #
| #               SISTEMA PARA ADMINISTRACAO DO WEBMAIL         
|            #
| #     Le o diretorio de emails e verifica as contas que nao 
| sao          #
| #            acessadas em X dias, e apaga-as    #
| #                                                             
|            #
| ##############################################################
| ############
| 
| 
| #DEFINE AS VARIAVEIS
| dias=60
| ndir="/var/www/html/webpoint/webmail/mailadm/"
| 
| tusers="${ndir}delusers.mailadm"
| nbackup="${ndir}backup/"
| tsecure="${ndir}secure.mailadm"
| pid="${ndir}pid.mailadm"
| ful="${ndir}allow.mailadm"
| 
| maildir="/var/spool/mail/"
| 
| #CRIA O PID
| echo "VERIFICANDO USUARIOS" > $pid
| 
| #LIMPA O BACKUP
| 
| 
| #CRIA O ARQUIVO DE USUARIOS
| find "$maildir" -atime +"${dias}" -type f -printf "%f X\r\n" 
| | sort > $tusers
| 
| if [ -s "$tusers" ]; then
| 
|  while read texto
|  do
| 
|   usuario=`echo $texto | cut -f1 -d" "`
| 
|   pode=`grep "^${usuario}:x" $ful`
| 
|   npode=`grep "^${usuario};" $tsecure`
| 
|   if [ "$pode" != "" ]; then
| 
|    if [ "$npode" = "" ]; then
| 
|     udt="/var/database/${usuario}_pop.colegiouniversitario.com.br"
| 
|     #faz backup do mail
|     if [ -s "${maildir}${usuario}" ]; then
|      tar -cPzf "${nbackup}${usuario}.tar" "${maildir}${usuario}"
|      rm -f "${maildir}${usuario}"
|     fi
|     #faz backup do webmail
|     if [ -d "${udt}" ]; then
|      tar -cPzf "${nbackup}${usuario}_webmail.tar" "${udt}"
|      rm -rf "${udt}"
|     fi
| 
|     /usr/sbin/userdel ${usuario}
|    fi
| 
|   fi
|  done < $tusers
| 
|  #REMOVE O ARQUIVO DE USUARIOS
|  rm -f $tusers
| fi
| 
| #REFAZ A LISTA DE USUARIOS POP
| grep -o ".*:x:[0-9]*:231:" /etc/passwd | cut -f1-2 -d":" | sort > $ful
| 
| #REMOVE O PID
| rm -f $pid
| 
| exit 0
| 
| 
| 
| ----- Original Message ----- 
| From: Pedro Henrique Ponchio 
| To: address@hidden 
| Sent: Wednesday, December 15, 2004 12:13 PM
| Subject: RE: [shell-script] Remover usuarios sem acesso
| 
| 
| 
| Ola Diniz, 
| 
| Na verdade nao e a data de modificacao (que se ve como 
| comando ls -la) mas sim a data do ultimo ACESSO ao arquivo 
| (feito pelo usuario). Portanto o comando (ls -la 
| --time=access) te dara quando foi o ultimo acesso do usuario 
| ao arquivo mail. basta filtrar por data pra saber quando foi 
| o ultimo acesso ao email de cada usuario. 
| 
| Abraco
| PH
| 
| -----Original Message----- 
| From: Diniz Alexandre Daminelli [mailto:address@hidden] 
| Sent: Tue 14/12/2004 21:16 
| To: address@hidden 
| Cc: 
| Subject: Re: [shell-script] Remover usuarios sem acesso
| 
| 
| 
| 
| O que faz este comando?
| <ls -la --time=access /var/mail>
| 
| na saida simplesmente me mostrou a listagem do diretorio...e 
| isso mesmo?
| 
| outras coisa...se sua ideia era pegar a data da ultima modificacao do
| arquivo,....acho que isso nao funcionara, pois cada vez que o 
| usuario recebe
| um e-mail a data e atualizada...assim vai demonstrar 
| erronhamente que ele
| esta checando seus e-mail's, mas o que esta acontecendo na 
| verdade e que ele
| esta recebendo, mas nao necessariamente checando seus e-mail's.
| 
| []'s
| Diniz
| 
| 
| [As partes desta mensagem que nao continham texto foram removidas]
| 
| 
| 
| ---------------------------------------------------------------------
| Esta lista nao admite a abordagem de outras liguagens de 
| programacao, como perl, C etc. Quem insistir em nao seguir 
| esta regra sera moderado sem previo aviso.
| ---------------------------------------------------------------------
| Sair da lista: address@hidden
| ---------------------------------------------------------------------
| Esta lista e moderada de acordo com o previsto em 
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos




 





[As partes desta mensagem que nao continham texto foram removidas]



---------------------------------------------------------------------
Esta lista nao admite a abordagem de outras liguagens de programacao, como
perl, C etc. Quem insistir em nao seguir esta regra sera moderado sem previo
aviso.
---------------------------------------------------------------------
Sair da lista: address@hidden
---------------------------------------------------------------------
Esta lista e moderada de acordo com o previsto em
http://www.listas-discussao.cjb.net
---------------------------------------------------------------------
 
Links do Yahoo! Grupos




 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]