Estou usando chpasswd
no meu script e está funcionando bem para mim:
echo "$USERNAME:$NEWPASSWORD" | chpasswd
PS: para não usar usuário root sudo
antes de chpasswd
echo "$USERNAME:$NEWPASSWORD" | sudo chpasswd
Eu quero chamar os usuários (primeira coluna) do arquivo / etc / passwd e atribuir-lhes uma senha. Eu só quero fazer isso para contas de usuário e não contas do sistema padrão. Até agora eu tenho um script bash simples
#!/bin/bash
touch /usertempfile
grep "/home" /etc/passwd |grep -v "/bin/false"|grep -v "/sbin/nologin"|grep -v $USER |awk -F":" '{print $1}' >> /userstempfile
for i in $(cat /usertempfile); do
echo -e "password/npassword" |passwd $i
done
rm -rf /usertempfile
O script pode extrair os usuários do arquivo / etc / passwd que não são uma conta do sistema padrão, mas não podem alterar as senhas dos usuários que estão nesse arquivo. O que estou fazendo incorretamente?
Tags password users shell-script