Campeão,
Você pode usar o expect, ou o chpasswd.
Expect(attrPasswd.exp):
-----Inicio------
#!/usr/bin/expect
#
set userid [lindex $argv 0]
set passNew [lindex $argv 1]
set passAgain [lindex $argv 2]
spawn passwd -e $userid
expect "ew UNIX password: $"
send "$passNew\r"
expect "etype new UNIX password: $"
send "$passAgain\r"
interact
-----Fim----
Chpasswd:
-----Inicio----
echo -e "teste:atech123" | chpasswd
----FIM----
Adaptando de acordo com o seu script, pode fazer desta maneira:
Arquivo de usuário, users.txt
Ivan Santos:isantos:123mudar:2006-12-31:
Bussunda amarildo:bsdamd:bsd123:2007-01-20:
Quincas Borbas:qborbas:qb123:2006-07-30:
---- Inicio com expect -----
#!/bin/bash
#
IFS_OLD=$IFS
IFS='
'
for defLin in $(cat users.txt)
do
user=$(echo $defLin | cut -d: -f2)
senha=$(echo $defLin | cut -d: -f3)
nome=$(echo $defLin | cut -d: -f1)
expira=$(echo $defLin | cut -d: -f4)
useradd -d /home/$user -m -c "$nome" -g <grupo> -s /bin/bash -e $expira
$user
./attrPasswd.exp $user $senha $senha
done
IFS=$IFS_OLD
------- FIM ----
---- Inicio com chpasswd -----
#!/bin/bash
#
IFS_OLD=$IFS
IFS='
'
for defLin in $(cat users.txt)
do
user=$(echo $defLin | cut -d: -f2)
senha=$(echo $defLin | cut -d: -f3)
nome=$(echo $defLin | cut -d: -f1)
expira=$(echo $defLin | cut -d: -f4)
useradd -d /home/$user -m -c "$nome" -g <grupo> -s /bin/bash -e $expira
$user
echo -e "$user:$senha" | chpasswd
done
IFS=$IFS_OLD
------- FIM ----
Acho que isso pode te ajudar.
OBS: expect = expect version 5.42.1
chpasswd = pertence ao pacote passwd: 4.0.13
abraço,
boa sorte,
Ivan Santos
Em 14/07/06, luiz henrique campos <address@hidden> escreveu:
>
> Em um script quero adicionar um usuário,"useradd" e
> quando for colocar a senha com "passwd" ja quero
> defini-la antes, pra que eu não tenha que interagir
> com o script.
> --- Thomaz de Oliveira dos Reis <address@hidden>
> escreveu:
>
> > pra qual programa? tem programas que você pode
> > passar a senha através de
> > um parametro...
> >
> > especifique melhor...
> >
> > []'s
> >
> > luiz henrique campos wrote:
> >
> > > E ai pessoal...queria saber como passar senha por
> > > script, para que eu não tenha que interagir com o
> > > script, falou
> > >
> > >
> > >
> > >
> >
> _______________________________________________________
> > > Novidade no Yahoo! Mail: receba alertas de novas
> > mensagens no seu
> > > celular. Registre seu aparelho agora!
> > > http://br.mobile.yahoo.com/mailalertas/
> > >
> > >
> > >
> >
> >
> >
>
>
>
>
> _______________________________________________________
> Yahoo! Acesso Grátis - Internet rápida e grátis. Instale
> o discador agora!
> http://br.acesso.yahoo.com
>
>
> ---------------------------------------------------------------------
> 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.listas-discussao.cjb.net
> ---------------------------------------------------------------------
> Servidor Newsgroup da lista: news.gmane.org
> Grupo: gmane.org.user-groups.programming.shell.brazil
>
>
> Links do Yahoo! Grupos
>
>
>
>
>
>
>
>
>
--
Ivan Santos
LPIID: 61925
Tel.: (11) 8148 8860
[As partes desta mensagem que não continham texto foram removidas]