Método 1 - usando passwd
Você pode fazer algo assim por meio de um script:
echo -n "$passwd" | passwd "$uname" --stdin
Onde a senha que você deseja definir é $passwd
e o usuário para o qual você deseja defini-la é $uname
.
Método 2 - usando useradd
Você também pode fornecê-lo para useradd
diretamente:
useradd -n -M -s $shell -g $group -d "/home/$homedir" "$uname" -p "$passwd"
OBSERVAÇÃO: Supondo que você esteja em uma distro baseada no Red Hat, como o CentOS ou RHEL, no método 2, já que seu exemplo mostra os comandos yum
. A opção -n
, por exemplo, está em versões mais antigas de useradd
:
-n A group having the same name as the user being added to the system
will be created by default. This option will turn off this
Red Hat Linux specific behavior. When this option is used, users by
default will be placed in whatever group is specified in
/etc/default/useradd. If no default group is defined, group 1 will be
used.
versões mais recentes de useradd
agora têm a opção desta forma nas distribuições Red Hat e não Red Hat:
-N, --no-user-group
Do not create a group with the same name as the user, but add the
user to the group specified by the -g option or by the GROUP
variable in /etc/default/useradd.
Então você poderia usar este comando para outras distros:
useradd -N -M -s $shell -g $group -d "/home/$homedir" "$uname" -p "$passwd"