Em Tue, 11 Feb 2003 11:23:30 -0300, "Edson Ahlert"
<[EMAIL PROTECTED]> escreveu:
> Abaixo segue um script para criar usu�rios.
> Se poss�vel gostaria que voc�s desses uma olhadinha nele, pois
> gostaria de saber se est� certo desta forma.
>
> -------------------------------------------------------------
> # Testa se o usu�rio j� n�o se encontra cadastrado
> grep "^$login:" /etc/passwd > /dev/null
> if [ $? -eq 0 ]; then
> echo ""
> echo "Usu�rio $login j� foi criado!"
> sleep 1
> continue
> fi
Este teste eu faria diferente.
id $login
if [ $? -eq 0 ]; then
printf "O usuario $login ja existe, escolha outro.\n"
exit 1
fi
Se ja existir, entra no if e sai do script (exit 1). Se n�o existir,
continua.
> # Usu�rio � cadastrado no grupo 'alunos' com senha eceg2003
> useradd -s /bin/false -m $login -c "$nome" -g alunos -p eceg2003
useradd -s /bin/false -c "$nome" -g 'alunos' -p 'eceg2003' $login
� bom incluir as vari�veis dentro de aspas simples, eu acho. E o -m
tira:
> O que falta:
> - por que o "-m" � o login? Procurei no help do useradd e ele fala
> outra
> coisa do "-m";
O -m � para criar o home dir do usu�rio caso n�o exista e seja de seu
interessa que exista o home dele. Como o shell dele � /bin/false, e n�o
for utilizar o home dele para nada (ftp, maildir, sei l�), pode definir
o home dele como /dev/null e n�o usar o -m.
> - como concateno duas strings?;
Execute no bash (funciona dentro de script tb!):
string1="Primeiro"
string2="Nome"
completo="$string1 bla bla bla $string2"
printf "$completo\n"
printf "A string1 cont�m \"$string1\" e a string2 cont�m \"$string2\"\n"
Gosto mais do printf do que do echo, d� imprimir tabula��es em quase
qualquer sistema. :)
> - o "-p" cria uma senha criptografada. Como posso fazer para que a
> senha
> seja realmente "eceg2003";
Vc n�o tem como armazenar senhas texto puro no passwd.
> - n�o consegui implementar o else-if...
N�o precisa. S� o if com exit 1 dentro j� basta. Se o usu�rio j� existe,
informa e ermina a execu��o do script. Se o usu�rio n�o existe, n�o
entra no if e n�o executa o exit 1. Ali�s, exit 0 � usado para terminar
o script sem erros. exit 1 faz com que $? em seguida mostre "1". exit 64
o $? = 64. Ent�o na documenta��o do script vc explica o significado do
c�digo 1, do 2, do ... do 64...
> Qualquer ajuda ser� de grande valia!!!
T�. :)
--
Marcio Merlone
Assinantes em 11/02/2003: 2239
Mensagens recebidas desde 07/01/1999: 200805
Historico e [des]cadastramento: http://linux-br.conectiva.com.br
Assuntos administrativos e problemas com a lista:
mailto:[EMAIL PROTECTED]