J'ai besoin de faire un script qui vérifie si un compte local a un mot de passe activé ou simplement un mot de passe vide. Je suppose qu'ils sont la même chose ouais?
J'ai cherché sur Google et essayé la commande de mot de passe -S utilisateur, mais tout ce que j'ai obtenu est une erreur. Dois-je l'exécuter sur la console du terminal local ou existe-t-il un moyen de transformer cela en script?
im super nouveau donc je suis encore un peu confus avec le concept de script en général. En gros, je dois écrire le script dans l’un des éditeurs de texte, le sauvegarder en tant que fichier .sh, lui donner l’autorisation RWX, puis le lancer via un terminal, n’est-ce pas?
password -S user
? Tu veux direpasswd -S user
? S'il vous plaît éviter de poser plusieurs questions dans un post. Laissez cette question être sur les mots de passe. Si vous avez besoin d’aide pour la création de scripts en général, vous devez poser une question distincte.Réponses:
Le mot de passe d'un utilisateur est stocké dans le
/etc/shadow
fichier. Le fichier est composé de:
- champs séparés. Le deuxième champ est le mot de passe. Si un mot de passe est défini, un hachage est affiché. Si un compte est désactivé ou n'a pas de mot de passe, il affichera un message!
ou rien.Vous pouvez utiliser un script comme celui-ci:
Stocker ce texte dans un fichier. Rendre le fichier exécutable avec
chmod +x filename
et exécutez le fichier en tant qu'utilisateur root avec le nom d'utilisateur en tant qu'argument:Ce script simple a la limitation que si l'argument fourni fait partie de deux noms d'utilisateur, il ne produira pas de sortie fiable.
la source