GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je attribuer un mot de passe initial/par défaut à un utilisateur sous Linux ?

Vous pouvez utiliser chpasswd pour le faire, comme ceci :

echo "username:newpassword" | chpasswd

Vous pouvez accéder à chpasswd à partir de programmes autres que echo , si pratique, mais cela fera l'affaire.

Modifier :pour générer le mot de passe dans le script shell, puis le définir, vous pouvez faire quelque chose comme ceci :

# Change username to the correct user:
USR=username
# This will generate a random, 8-character password:
PASS=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c8`
# This will actually set the password:
echo "$USR:$PASS" | chpasswd

Pour plus d'informations sur chpasswd , voir http://linux.die.net/man/8/chpasswd

(La commande pour générer le mot de passe provenait de http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html)


Vous pouvez utiliser OpenSSL pour générer le mot de passe aléatoire (16 caractères, dans ce cas) :

# 1000 bytes should be enough to give us 16 alphanumeric ones
p=$(openssl rand 1000 | strings | grep -io [[:alnum:]] | head -n 16 | tr -d '\n')

Ensuite, introduisez le mot de passe haché dans useradd ou usermod

# omit the "-1" if you want traditional crypt()
usermod -p $(openssl passwd -1 "$p") <username>

MODIFIER :

Depuis sa publication en 2012, les nouvelles versions d'OpenSSL ont ajouté des fonctionnalités au openssl passwd commande. Au lieu d'utiliser le -1 option pour obtenir un hachage basé sur MD5, les versions modernes prennent également en charge -5 pour les hachages basés sur SHA256 et -6 pour les hachages basés sur SHA512.

Crédit à l'échéance :la génération du mot de passe est adaptée d'une méthode similaire qui utilise /dev/urandom au lieu de openssl .


useradd devrait fonctionner (je l'ai fait sur Ubuntu). Vérifiez peut-être que chacun de vos arguments est correct (ces groupes existent, le chemin est bon pour bash). Vous pouvez exécuter la commande avec juste un mot de passe et un utilisateur, puis utiliser userdel supprimer, puis réessayer avec plus de paramètres, pour voir ce qui cause le problème (approche par force brute).

Il y a aussi les nouveaux utilisateurs (voir la page de manuel), au moins sous Ubuntu, où vous lui donnez un fichier avec un fichier passwd comme des informations, y compris des mots de passe en texte brut et il créera ces utilisateurs. Belle façon de faire plusieurs utilisateurs à la fois.


Linux
  1. Comment gérer l'expiration et le vieillissement du mot de passe utilisateur sous Linux

  2. Comment modifier, supprimer ou désactiver le mot de passe utilisateur sous Linux

  3. Comment ajouter un utilisateur Unix/linux dans un script bash ?

  4. Comment modifier ou définir des mots de passe utilisateur sous Linux

  5. Comment puis-je automatiser l'effacement et la réinitialisation du répertoire personnel d'un utilisateur Linux par défaut ?

Comment changer le mot de passe utilisateur sous Linux

Comment réinitialiser le mot de passe de l'utilisateur racine MySQL sous Linux

Comment changer le mot de passe utilisateur sous Linux

Comment changer le shell utilisateur par défaut dans le système d'exploitation Linux

Comment changer ou définir un mot de passe utilisateur sous Linux

Comment changer d'utilisateur sous Linux