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

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

Re: [shell-script] Lei de murph...


From: Jose Edson Moreno Jr
Subject: Re: [shell-script] Lei de murph...
Date: Fri, 4 Mar 2011 02:23:51 -0300

Boa noite ..

Em 3 de março de 2011 19:19, shelleiro <address@hidden> escreveu:
>
>
>
> Pessoal,
>
> Ao configurar o servidor criei umas 10 contas sem problemas com o seguinte 
> script feito para o servidor que enunciei agora a pouco :
>
> useradd -p"${V_senha}" "${V_login}" -d /home/"${V_login}" 2>/dev/null
>

Primeira coisa , verifica no log a causa de erro ... normalmente lá
você terá uma dica
Segundo , direcione tudo que ocorre de ero para um log não para o
null, assim tera algo com o que trabalhar em caso de erro, como agora
e pegue a saida de retorno pra saber o que ocorreu. Alguns retornos a
saber:
  0 - success
  1 - can't update password file
  2 - invalid command syntax
  3 - invalid argument to option
  4 - UID already in use (and no -o)
  6 - specified group doesn't exist
  9 - username already in use
  10 - can't update group file
  12 - can't create home directory
  13 - can't create mail spool
Terceiro, esta tratando as entradas ? O adduser possue algumas
restrições/recomendações como :
   - Normalmente é recomendado usar apenas nomes que começam com
minuscula ou um sublinhado, e que só são seguidos por letras
minúsculas, dígitos, sublinhados, traços, e,
opcionalmente, terminado por um cifrão.  Em termos de expressão
regular: [a-z_] [a-z0-9_-]*[$]?
   - Em Debian, as restrições são apenas nomes que não começem com
('-') ou que contenha um (':')  ou caracteres de controle ( \n, \t, \r
) ou um espaço.
   - E que possua no máximo 32 caracteres

PS: Informações do man

>
> Ao logar como novouser ele pergunta a senha desejada e o login, verifica se 
> existe similar e se não executa este comando, pronto, teoricamente a pessoa 
> já está com Shell e cadastrada no servidor, inclusive criei meu usuário e de 
> MrBits pelo script e estou acessando o servidor, mas agora que liberei o 
> acesso, ele não mais cria o diretório home do usuário e não dá acesso ssh, 
> mas no /etc/passwd está lá cadastrado.
>
> Alguma dica pois já tem 22 cadastrados dentre ele pelo menos 15 sem acesso ao 
> ssh por está sem diretório home, tentei criar na mão grande para o pessoal 
> não ficar sem acesso mais não funcionou.
>
> for i in `grep "home" /etc/passwd | cut -f6 -d:`
> do
> V_user=`echo "$i" | cut -f3 -d\/`
> mkdir "$i"
> chown -R ${V_user}.${V_user} ${i}
> done
> Alguma idéia, pois só está com acesso os 5 primeiros que cadastrei 
> pessualmente.

Bom, script normalmente é feito ao gosto do cliente, mas eu faria
desta forma, acho mais limpo e não curto muito o cut usado em
delimitadores que variam em sua posição, e ficaria de olho nos erros
caso houvesse :

for v_user in $(awk -F: '$3>500 {printf $1" "}' /etc/passwd); do
    v_home=$(grep "${v_user}:" /etc/passwd | awk -F: '{print $6}');
    mkdir -p ${v_home}
    cp -rpf /etc/skel/.[a-Z]* ${v_home}
    cp -rpf /etc/skel/* ${v_home}
    chown -R ${v_user}.${v_user} ${v_home}
done

PS: em '$3>500' estou informando que só quero id de usuario maior de
500, aqui coloque como esta em seu sistema

>
> 


--
Jose Edson Moreno Jr.


reply via email to

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