[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.
- Lei de murph..., shelleiro, 2011/03/03
- Re: [shell-script] Lei de murph...,
Jose Edson Moreno Jr <=