Criar varios usuarios ao mesmo tempo em varios grupos secundários

13. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 19/07/2021 - 22:43h

Minions escreveu:

msoliver escreveu:

senha=`echo "$senha" | makepasswd --crypt-md5 --chars=8`
Dessa forma, não...
Tem a opção para "pegar de um arquivo".
--clearfrom FILE

-m, --create-home cria o diretório pessoal do usuário

OBS.: Da forma que passei os comandos, funciona perfeitamente no Debian.....



Testei o script não vai ..... Acho que esta relacionado ao comando makepasswd o erro da foto.
$ makepasswd -h
makepasswd: invalid option -- 'h'
Usage: makepasswd [-ceilMmnpSs]
makepasswd -E [-ceilMmnSs]
-c String of allowed characters (A-Za-z0-9`[email protected]#$%^&*()-_=+)
-E Enumerate all possible values
-e Encryption algorithm (none,base64,blowfish,des,md5,sha1,sha256,shmd5)
-i Number of iterations in encryption algorithm
-l Password length
-M Maximum password length
-m Minimum password length
-n Number of passwords to generate
-p Password to use
-S Do not seed ourselves
-s Salt to use


Minions, as opções do makepasswd são diferentes do que uso.....
Sei lá, parece outra compilação....
Adeque os comandos, de acordo com o makepasswd que vc utiliza.
makepasswd -e md5 -p SENHA -I tamanhodasenha


______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________



  


14. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Morpheus
Minions

(usa Nenhuma)

Enviado em 20/07/2021 - 11:40h


msoliver escreveu:

Minions, as opções do makepasswd são diferentes do que uso.....
Sei lá, parece outra compilação....
Adeque os comandos, de acordo com o makepasswd que vc utiliza.
makepasswd -e md5 -p SENHA -I tamanhodasenha


1- Tem como identificar a versão do makepasswd?

2- Como verifica se a senha esta criptografada em md5?

Os arquivos: /etc/passwd e /etc/shadow usa md5?


3- Não sei onde esta o problema?
Se é o makepasswd que não esta gerando em md5 ou algo no script
Tem outro programa similar ao makepasswd?


senhapadrao="123#T3st-ee#%*@"

while read usuario; do

# makepasswd -e md5 -m8 -M8 -c "#T3st-ee#%*@" | cut -d " " -f1
# @e*3*T**

# makepasswd -e md5 -m8 -M8 -c "#T3st-ee#%*@" | cut -d " " -f2
# d4eb76a39ebfa00f21d6ead4b839e1b0

makepasswd -e md5 -m8 -M8 -c "$senhapadrao" > /tmp/senha.txt

senha=`cat /tmp/senha.txt | cut -d " " -f1`

senha_hash=`cat /tmp/senha.txt | cut -d " " -f2`

useradd -d /home/"$usuario" -s "$shell" -m -g "$grupo" -G "$grupos" "$usuario" -p "$senha_hash" ;

echo "$usuario => $senha (hash da senha: $senha_hash)
" >> "$cadastro"

done < "$log"

rm -Rf /tmp/senha.txt




15. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/07/2021 - 19:10h


Minions escreveu:


msoliver escreveu:

Minions, as opções do makepasswd são diferentes do que uso.....
Sei lá, parece outra compilação....
Adeque os comandos, de acordo com o makepasswd que vc utiliza.
makepasswd -e md5 -p SENHA -I tamanhodasenha


1- Tem como identificar a versão do makepasswd?
makepasswd --help

2- Como verifica se a senha esta criptografada em md5?

Os arquivos: /etc/passwd e /etc/shadow usa md5?
Só o shadow, guarda a senha criptografada.

3- Não sei onde esta o problema?
Se é o makepasswd que não esta gerando em md5 ou algo no script
Tem outro programa similar ao makepasswd?
Deve ter muitos.....

senhapadrao="123#T3st-ee#%*@"

while read usuario; do
# makepasswd -e md5 -m8 -M8 -c "#T3st-ee#%*@" | cut -d " " -f1
# @e*3*T**
# makepasswd -e md5 -m8 -M8 -c "#T3st-ee#%*@" | cut -d " " -f2
# d4eb76a39ebfa00f21d6ead4b839e1b0
makepasswd -e md5 -m8 -M8 -c "$senhapadrao" > /tmp/senha.txt
senha=`cat /tmp/senha.txt | cut -d " " -f1`
senha_hash=`cat /tmp/senha.txt | cut -d " " -f2`
useradd -d /home/"$usuario" -s "$shell" -m -g "$grupo" -G "$grupos" "$usuario" -p "$senha_hash" ;
echo "$usuario => $senha (hash da senha: $senha_hash)
" >> "$cadastro"
done < "$log"
rm -Rf /tmp/senha.txt


Vamos tentar desenrolar essa bagaça.....
Poste a saída de:
# awk -F":" '/'$USER'/ {OFS="\n";print $1,$2}' /etc/shadow 

Isso é para verificar qual a criptografia usada!
----------------------------------------------------------------------------
Em tempo:
Qual distribuição vc usa?
Notei que a versão do bash é antiga.....
_____________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________



16. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 20/07/2021 - 20:09h


se tivesse feito como eu postei não estavam apanhando aí até hoje !!! heheheh

Brincadeira, acompanhando a peleja aqui !!!


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




17. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Morpheus
Minions

(usa Nenhuma)

Enviado em 20/07/2021 - 20:40h

msoliver escreveu:

Vamos tentar desenrolar essa bagaça.....
Poste a saída de:
# awk -F":" '/'$USER'/ {OFS="\n";print $1,$2}' /etc/shadow 

Isso é para verificar qual a criptografia usada!


# awk -F":" '/'$USER'/ {OFS="\n";print $1,$2}' /etc/shadow
root
$4$Ykrwri8JTy/HW3d$iUlZBSIK78L2l8G9PGH2DQYRnR.BBJaZTU.pGepJEM8


Qual distribuição vc usa?

Slackware 14 no momento



O script abaixo esta funcionando para você?


log="/tmp/usuario.txt"
senhapadrao="123#T3st-ee#%*@"
cadastro="/tmp/cadastro de usuarios.txt"
shell="/bin/bash"
grupoprincipal="users"
grupossecundarios="audio,cdrom,plugdev,video,netdev,lp,scanner"

clear

which zenity
which chpasswd
which expect
which tclsh
which mkpasswd
which makepasswd

rm -Rf "$log"
rm -Rf "$cadastro"
rm -Rf /tmp/senha.txt
rm /etc/passwd.lock
rm /etc/shadow.lock
rm /etc/group.lock
rm /etc/gshadow.lock

echo "ti
ana
master
admin
julio" > "$log"

echo "Cadastro de usuários no sistema:
-------------------------------
" > "$cadastro"

while read usuario; do

userdel -r $usuario

rm -Rf /home/$usuario
rm -Rf /var/spool/mail/$usuario

echo "Informe a senha para o usuario $usuario"
read senha

useradd -d /home/$usuario -s $shell -m -g $grupoprincipal -G $grupossecundarios $usuario -p "$senha" ;

echo "$usuario => $senha
" >> "$cadastro"

done < "$log"

rm -Rf /tmp/senha.txt

cat "$cadastro"
ls /home/ -l

exit 0




Tentei enxugar o máximo o script.... Mesmo assim não funciona.
Retirei a parte do makepasswd e coloquei um "echo com read" no loop para o usuário digitar a senha manualmente. Passa batido sem solicitar a senha.

Obs: tem dois read no loop


18. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Morpheus
Minions

(usa Nenhuma)

Enviado em 20/07/2021 - 21:56h


Mauriciodez escreveu:


se tivesse feito como eu postei não estavam apanhando aí até hoje !!! heheheh

Brincadeira, acompanhando a peleja aqui !!!



Boa noite amigo,

Graça a DEUS e a você ... Identifiquei a origem do problema. Aparentemente esta na parte da senha.

Em relação ao seu script:


[email protected] ~/Desktop $ cat users.txt
mario 123456
chico 987654
[email protected] ~/Desktop $ cat users.sh
#!/bin/bash
while read x ;do
user=`echo $x | cut -d' ' -f1`
pass=`echo $x | cut -d' ' -f2`
useradd -m -g users -s /bin/bash -d /home/$user -G cdrom,floppy -p $(openssl passwd -1 $pass) $user
done < users.txt


Aqui só funcionou o $(openssl passwd -1 $pass) para senha com números.

Se colocar algo assim 123#[email protected] na variável $pass não funciona aqui!


Meu script alterado:

senha com %$$#@%*^^~(_)[email protected]# não funciona com openssl


#!/bin/bash
log="/tmp/usuario.txt"
senhapadrao="123#[email protected]"
cadastro="/tmp/cadastro de usuarios.txt"
shell="/bin/bash"
grupoprincipal="users"
grupossecundarios="audio,cdrom,plugdev,video,netdev,lp,scanner"
clear
which zenity
which chpasswd
which expect
which tclsh
which mkpasswd
which makepasswd
rm -Rf "$log"
rm -Rf "$cadastro"
rm -Rf /tmp/senha.txt
rm -Rf /etc/passwd.lock
rm -Rf /etc/shadow.lock
rm -Rf /etc/group.lock
rm -Rf /etc/gshadow.lock

echo "ti
ana
master
admin
julio" > "$log"

echo "Cadastro de usuários no sistema:
-------------------------------
" > "$cadastro"

while read usuario; do

userdel -r $usuario
rm -Rf /home/$usuario
rm -Rf /var/spool/mail/$usuario
sleep 3
makepasswd -m8 -M8 -c "$senhapadrao" > /tmp/senha.txt
senha=$(cat /tmp/senha.txt)
useradd -d /home/"$usuario" -s "$shell" -m -g "$grupoprincipal" -G "$grupossecundarios" "$usuario" -p $(openssl passwd -1 "$senha") ;

echo "$usuario => $senha (hash da senha: $senha_hash)
" >> "$cadastro"

done < "$log"

rm -Rf /tmp/senha.txt
cat "$cadastro"
ls -l /home/
exit 0




Só fazendo pajelança na parte -p $(openssl passwd -1 "$senha") para funcionar com %$$#@%*^^~(_)[email protected]#......

A questão de versão dos programas e o tipo de distribuição pode altera o resultado do processo de criação dos usuários em lote?

Na sua distro meu script funciona? Ou tem problema com as senhas dos usuários: ti,ana,master,admin,julio também?



19. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 20/07/2021 - 22:26h

Minions, "a coisa tá de rosca....", rsrsrsrsr
$4$Ykrwri8JTy/HW3d$iUlZBSIK78L2l8G9PGH2DQYRnR.BBJaZTU.pGepJEM8
O que identifica a "criptografia" usada, são os 3 primeiros dígitos,
Revirei a internet, e não encontrei o significado de $4$, veja a tabela abaixo:
----------------------------------
| CODE ALGORITHM |
| $1 MD5 hashing algorithm. |
| $2 Blowfish Algorithm. |
| $2a eksblowfish Algorithm. |
| $3 NT hashing algorithm. |
| $5 SHA-256 Algorithm. |
| $6 SHA-512 Algorithm. |
----------------------------------


Mais uma tentativa, o comando abaixo deve mostrar algo como:
sudo cat /etc/login.defs|grep 'ENCRYPT' 

# This variable is deprecated. You should use ENCRYPT_METHOD.
ENCRYPT_METHOD SHA512

----------------------------------------------------------------------------------------------------------------
"echo com read" no loop para o usuário digitar a senha manualmente. Passa batido sem solicitar a senha
Não solicita a senha, pq o read é alimentado pelo laço, "while read usuario".....
Para resolver, altere o laço....
Exemplo:
Nreg=wc -l < user.txt;
for linha in $(seq ${Nreg});do
usuario=$(sed ''${linha}'!d;' user.txt);
read -p "Digite a senha: " senha;
..................................................
done


A SENHA DEVE SER CRIPTO.....

O script abaixo esta funcionando para você?
Muitos erros.....
-r, --remove remove o diretório pessoal e spool de mensagens
Já remove o diretório pessoal e mensagens, portanto não é necessário:
rm -Rf /home/$usuario
rm -Rf /var/spool/mail/$usuario


Antes de remover o usuário, teste se existe!!!!!

______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________



20. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 20/07/2021 - 22:40h


Minions escreveu:
senha com %$$#@%*^^~(_)[email protected]# não funciona com openssl


aqui funcionou o script que mandei antes 100%, com letra (maiuscula e minuscula), números e caracteres especiais

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




21. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Morpheus
Minions

(usa Nenhuma)

Enviado em 21/07/2021 - 01:22h

Essa verificação de erro para o comando useradd pode ser valida?

useradd algo ....

if [ $? == 1 ]; then

echo "Ocorreu um problema ao criar o usuário: $usuario"

fi


Bom com ls não vai

ls /tmp1

if [ $? == 1 ]; then

clear

echo "Ocorreu um problema ao criar o usuário: goku"


fi


$ ./1.sh
ls: não é possível acessar '/tmp1': Arquivo ou diretório não encontrado

Era para mostrar a frase "Ocorreu um problema ao criar o usuário: goku" kkkkkkkkkk :(




22. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Morpheus
Minions

(usa Nenhuma)

Enviado em 21/07/2021 - 01:25h


Mauriciodez escreveu:


Minions escreveu:
senha com %$$#@%*^^~(_)[email protected]# não funciona com openssl


aqui funcionou o script que mandei antes 100%, com letra (maiuscula e minuscula), números e caracteres especiais

------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------





Qual a versão do openssl ai?



23. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 21/07/2021 - 01:33h

[email protected] ~ $ openssl version
OpenSSL 1.1.1d 10 Sep 2019
[email protected] ~ $


------------------------------------------------------| Linux User #621728 |------------------------------------------------------

" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"

------------------------------------------------------| Linux User #621728 |------------------------------------------------------




24. Re: Criar varios usuarios ao mesmo tempo em varios grupos secundários

Morpheus
Minions

(usa Nenhuma)

Enviado em 21/07/2021 - 02:15h


msoliver escreveu:

Minions, "a coisa tá de rosca....", rsrsrsrsr
$4$Ykrwri8JTy/HW3d$iUlZBSIK78L2l8G9PGH2DQYRnR.BBJaZTU.pGepJEM8
O que identifica a "criptografia" usada, são os 3 primeiros dígitos,
Revirei a internet, e não encontrei o significado de $4$, veja a tabela abaixo:
----------------------------------
| CODE ALGORITHM |
| $1 MD5 hashing algorithm. |
| $2 Blowfish Algorithm. |
| $2a eksblowfish Algorithm. |
| $3 NT hashing algorithm. |
| $5 SHA-256 Algorithm. |
| $6 SHA-512 Algorithm. |
----------------------------------





Esse $4$ deve esta no cachimbo do "Bob Dobbs" rsrsrs

Esse Tux com cachimbo kkkkkkkkk Só mesmo ouvindo "Gabriel, o Pensador - Cachimbo da paz"

Ajuda ai "Bob Dobbs" !!!!




O script abaixo esta funcionando para você?
Muitos erros.....
-r, --remove remove o diretório pessoal e spool de mensagens
Já remove o diretório pessoal e mensagens, portanto não é necessário:
rm -Rf /home/$usuario
rm -Rf /var/spool/mail/$usuario




Coloquei o "rm -Rf ..." pq o -r não estava removendo os arquivos em /home do usuário criado.

Seguro morreu de velho rsrs :)





Antes de remover o usuário, teste se existe!!!!!



Já add essa opção agora => grep -Eq "^$usuario:" /etc/passwd






01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts