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

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

Re: [shell-script] SH e Passwords


From: Miranda
Subject: Re: [shell-script] SH e Passwords
Date: Wed, 18 Feb 2004 15:36:12 -0300
User-agent: KMail/1.5

On Wednesday 18 February 2004 15:31, Miranda wrote:
> PS1=usuario@host:pwd>
>
> miranda@bass:/home/miranda>cat > psw
> xamor
> miranda@bass:/home/miranda>vi chpwmir
> miranda@bass:/home/miranda>cat chpwmir
      cat /home/miranda/psw|passwd --stdin miranda

> root@bass:/root>chmod 755 /home/miranda/chpwmir
> root@bass:/root>at now + 2 minutes
> warning: commands will be executed using (in order) a) $SHELL b) login
> shell c) /bin/sh
> at> /home/miranda/chpwmir
> at> <EOT>
> job 3 at 2004-02-18 15:20
> On Wednesday 18 February 2004 15:01, Marcos Paulo wrote:
> Executou  sem problema
>
> > Alguem sabe se o /bin/sh tem alguma restricao para comandos como o echo
> > "$senha" | passwd --stdin "$usuario" ?? porque não funciona se eu
> > executar o script, nem via cron, nem manualmente.. so se digitar os
> > comandos..
> >
> > O que acontece é que tenho um shellscript que é executado via crontab e
> > verifica o arquivo actions.mailadm e faz as alterações pertinentes, seja
> > inclusao de usario de email, seja remoçao ou seja troca de senha.
> >
> > O problema: executar o script a troca de senha não funciona tanto via
> > cron, tanto via sh nomedoscript (ambos pelo root). agora se digito o
> > comando ele roda..
> >
> > alguem tem alguma dica?
> >
> > Segue o script abaixo..
> >
> > #-------- mailadm.sh ------------#
> >
> > #!/bin/sh
> >
> > #define o file action list
> > ndir="/var/www/html/webpoint/webmail/mailadm/"
> > fal="$ndir""actions.mailadm"
> > ful="$ndir""allow.mailadm"
> > all="$ndir""deny.mailadm"
> > pid="$ndir""pid.mailadm"
> >
> >
> > #creating pid
> > echo "READING FILES" > $pid
> >
> > #faz as listas
> > grep -o ".*:x:[0-9]*:231:" /etc/passwd | cut -f1-2 -d":" | sort > $ful
> > grep -o ".*:x:[0-9]*:[^2][^3][^1]" /etc/passwd | cut -f1-2 -d":" | sort >
> > $all
> >
> > #verifica se o arquivo existe e é maior que zero:
> > if [ -s $fal ]; then
> >  while read texto
> >  do
> >   acao=`echo $texto | cut -f1 -d":"`
> >   usuario=`echo $texto | cut -f2 -d":"`
> >   senha=`echo $texto | cut -f3 -d":"`
> >
> >   todos=`grep "^$usuarios:x" $all`
> >   pode=`grep "^$usuario:x" $ful`
> >    case $acao in
> >    "A")
> >      #adicionar usuario
> >      if [ "$todos" = "" ]; then
> >       if [ "$pode" = "" ]; then
> >      /usr/sbin/useradd -g popusers -s "/bin/false" -c "$usuario" -d
> > "/home/guest" "$usuario" #echo "$senha" | /usr/bin/passwd --stdin
> > "$usuario"
> >      echo "$usuario"":""$senha" | chpasswd
> >
> >     fi
> >      fi
> >    ;;
> >
> >    "S")
> >      #troca senha
> >      if [ "$pode" != "" ]; then
> >     #echo "$senha" | /usr/bin/passwd --stdin "$usuario"
> >     echo "$usuario"":""$senha" | chpasswd
> >
> >      fi
> >    ;;
> >
> >    "R")
> >      #remover usuario
> >      if [ "$pode" != "" ]; then
> >     /usr/sbin/userdel $usuario
> >     rm -f /var/spool/mail/"$usuario"
> >     #remove do webmail
> >     wf=/var/database/"$usuario"_pop.colegiouniversitario.com.br
> >     if [ -d $wf ]; then
> >      rm -rf $wf
> >     fi
> >      fi
> >    ;;
> >      esac
> >                 dt=`date +%d/%m/%Y-%R`
> >   echo "$dt - Acao: $acao Usuario: $usuario" >> /var/log/mailadm.log
> >
> >  done < $fal
> >
> >  #REMOVE THE FILE
> >  rm -f $fal
> > fi
> >
> > #faz as listas
> > grep -o ".*:x:[0-9]*:231:" /etc/passwd | cut -f1-2 -d":" | sort > $ful
> > grep -o ".*:x:[0-9]*:[^2][^3][^1]" /etc/passwd | cut -f1-2 -d":" | sort >
> > $all
> >
> > #REMOVE O PID
> > rm -f $pid
> >
> >
> >
> >
> > #------- fim mailadm.sh -----------#
> >
> > Marcos
> >
> > [As partes desta mensagem que não continham texto foram removidas]
> >
> >
> >
> >
> > ---------------------------------------------------------------------
> > Esta lista não admite a abordagem de outras liguagens de programação,
> > como perl, C etc. Quem insistir em não seguir esta regra será moderado
> > sem prévio aviso.
> > ---------------------------------------------------------------------
> > Sair da lista: address@hidden
> > ---------------------------------------------------------------------
> > Esta lista é moderada de acordo com o previsto em
> > http://www.listasdiscussao.cjb.net
> > ---------------------------------------------------------------------
> >
> > Links do Yahoo! Grupos
> > Para visitar o site do seu grupo, acesse:
> >  http://br.groups.yahoo.com/group/shell-script/
> >
> > Para sair deste grupo, envie um e-mail para:
> >  address@hidden
> >
> > O uso que você faz do Yahoo! Grupos está sujeito aos:
> >  http://br.yahoo.com/info/utos.html
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem
> prévio aviso.
> --------------------------------------------------------------------- Sair
> da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
> Links do Yahoo! Grupos
> Para visitar o site do seu grupo, acesse:
>  http://br.groups.yahoo.com/group/shell-script/
>
> Para sair deste grupo, envie um e-mail para:
>  address@hidden
>
> O uso que você faz do Yahoo! Grupos está sujeito aos:
>  http://br.yahoo.com/info/utos.html



reply via email to

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