[Shell] Bash : script de gestion d'utilisateurs
bonjour,
voila j'ai un script pour créer des utilisateurs avec un fichier rempli en .txt
le fichier comptes.txt est fait comme ceci
login mdp groupe
les variables sont les suivantes :
$1 login
$2 pour le mot de passe
$3 pour le groupe
voici le script
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| #!/bin/bash
IFS=$' ';
cat comptes.txt |
{
while read ligne; do
set ${ligne};
echo "login:${1} mot de passe:${2} groupe:${3}";
useradd ${1} -d /var/home/${3} -s /bin/false;
usermod -g ${3} ${1};
echo ${1}:${2} | chpasswd
done;
} |
après divers tests, tous fonctionne
le script s'exécute sans messages d'erreurs
la ligne echo login... me permet de vérifier que les variables sont exactes
les questions que je me pose :
les utilisateurs créés via le script sont récupérés dans un fichier texte avec deux noms pour tester
test1, test2 et deux groupes :groupe1,groupe2
test1 dans le groupe1, test2 dans le groupe2
les utilisateurs sont créés, il apparaissent dans /etc/passwd
quand je fais la commande "groups test1" je reçois la réponse test1 : groupe1
et pour test2 groupe2. donc pas de soucis
mais si j'édite /etc/group je devrais avoir
groupe1: x :102:pascal,pierre,test1
groupe2: x :103:sylvain,alex,test2
mais les utilisateurs test1 et 2 ne se rajoute pas.
est-ce normal ?
pour l'instant cela fonctionne mais j'aimerais comprendre