Obrigado a todos que me deram essa ajuda.
O resultado pode ser visto em
http://www.vivaolinux.com.br/scripts/verScript.php?codigo=2099
Comentários e melhorias são bem vindos.
--
[]'s
chmod000
"Microsoft butterfly is their way of telling you their system has a lot of
@#$ bugs!"
2006/6/29, Flavio Junior <address@hidden>:
>
> echo user:senha | chpasswd -e
>
>
>
> Flavio do Carmo Junior aka blk1d
>
> On 6/29/06, chmod000 <address@hidden> wrote:
> > Estou criando um script para criação de usuários com base em um arquivo
> de
> > texto.
> >
> > O arquivo vem com os campos separados por ":" desta forma
> > Joao Silva:joao
> >
> > O script pega cada um destes campos e transforma nos parâmetros do
> useradd,
> > desta forma:
> >
> > senha_crypt=`makepassword --chars 8 --crypt-md5 | cut -d ' ' -f 4`
> > senha=`makepassword --chars 8 --crypt-md5 | cut -d ' ' -f 1`
> > #este comando gera uma senha de 8 caracteres criptografada no padrão
> #md5
> > #o resultado é algo parecido com isso
> > #MtVmaKSx $1$oLlkby6M$GibGX0FKQQxBJ1beJ68GW.
> >
> > useradd -c Joao Silva -p $senha_crypt joao
> > echo "$login" ':' "$senha" >> contas.txt
> >
> > Lendo o man do useradd percebi que o parâmetro -p cria a conta
> desabilitado.
> > [quote]
> > -p, --password PASSWORD
> > The encrypted password, as returned by crypt(3). The default
> is to
> > disable the account.
> > [/quote]
> >
> > A dúvida é como fazer esta senha ser gerada durante a execução do script
> e
> > ter, ao final, uma conta ativa.
> >
> > No Redhat eu usava o parametro --stdin do passwd, mas no Debian isso não
> > existe (echo $senha | passwd --stdin)
> >
> > Alguma sugestão?
> >
> > 2006/6/29, Flavio Junior <address@hidden>:
> > >
> > > veja o comando chpasswd -e ...
> > >
> > > nao digo mais pq nem entendi o que vc quer fazer..
> > >
> > > Flavio do Carmo Junior aka blk1d
> > >
> > >
> > > On 6/29/06, chmod000 <address@hidden> wrote:
> > > > Oi pessoal, ó eu enchendo novamente... hehehe
> > > >
> > > > Seguinte
> > > > como é que eu crio um usuário a partir de um script.
> > > >
> > > > Estou fazendo assim:
> > > >
> > > > de dentro de um for, que lê um arquivo com logins e senhas executo o
> > > comando
> > > > senha=`makepasswd --chars 8 --crypt-md5 | cut -d ' ' -f 2` #pego só
> a
> > > parte
> > > >
> > > > #criptografada
> > > > useradd -d /home/$login -m -p $senha $login
> > > >
> > > > Está tudo (ou quase tudo) funcionando bem. O problema está no
> useradd,
> > > > que com a opção -p cria uma conta desativada por padrão. Até a senha
> > > > está indo ok. No /etc/shadow dá para ver o hash gerado de forma
> > > > semelhante às outras senhas, usando o mesmo padrão.
> > > >
> > > > Alguém sabe como posso contornar este problema? Não quero usar outra
> > > > linguagem de programação (perl, php ou outra coisa) como as outras
> > > > soluções que encontrei usam.
> > > >
> > > > --
> > > > []'s
> > > > chmod000
> > > > "Microsoft butterfly is their way of telling you their system has a
> > > > lot of @#$ bugs!"
> > > >
> > > >
> > > >
> ---------------------------------------------------------------------
> > > > 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
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> >
> >
> >
> > --
> > []'s
> > chmod000
> > "Microsoft butterfly is their way of telling you their system has a lot
> of
> > @#$ bugs!"
> >
> >
> > [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.listas-discussao.cjb.net
> > ---------------------------------------------------------------------
> > Servidor Newsgroup da lista: news.gmane.org
> > Grupo: gmane.org.user-groups.programming.shell.brazil
> >
> >
> > Links do Yahoo! Grupos
> >
> >
> >
> >
> >
> >
> >
> >
>
>
[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.listas-discussao.cjb.net
---------------------------------------------------------------------
Servidor Newsgroup da lista: news.gmane.org
Grupo: gmane.org.user-groups.programming.shell.brazil
Links do Yahoo! Grupos