Dans un script, comment puis-je vérifier si l'utilisateur "Bill" est membre du groupe d'administrateurs (groupe 80) ?
Je prévois d'utiliser ceci dans un script pour vérifier s'il l'est et s'il ne l'est pas, le rendre utilisateur administrateur.
Dans un script, comment puis-je vérifier si l'utilisateur "Bill" est membre du groupe d'administrateurs (groupe 80) ?
Je prévois d'utiliser ceci dans un script pour vérifier s'il l'est et s'il ne l'est pas, le rendre utilisateur administrateur.
Une autre façon :
if groups username | grep -q -w admin;
then
echo "Est admin";
else
echo "Pas admin";
fi
groups username
affichera tous les groupes de l'utilisateur.grep -q -w admin
recherchera (sans sortie -q
) le mot admin dans la liste des groupes de l'utilisateur.Comme suggéré par David Koontz, groups
a été obsolète par l'utilitaire id
. Ainsi, la phrase if
devrait ressembler à ce qui suit pour faire la même chose :
if id -Gn username | grep -q -w admin;
Voici un script simple pour vérifier si l'utilisateur est dans le groupe admin et l'ajouter s'il ne l'est pas :
#!/bin/bash
echo "Ce script ajoutera un utilisateur non-admin au groupe admin"
echo "Veuillez entrer le nom d'utilisateur"
read username
if groups $username | grep -q -w admin;
then
echo "L'utilisateur '$username' est déjà dans le groupe admin";
else
dscl . -append /Groups/admin GroupMembership $username;
echo "L'utilisateur '$username' a été ajouté au groupe admin !";
echo "Veuillez redémarrer votre Mac pour appliquer les modifications.";
fi
Enregistrez le script quelque part et rendez-le exécutable en ouvrant le Terminal et en entrant :
chmod 755 /chemin/vers/le/script
Exécutez le script avec sudo /chemin/vers/le/script
.
Étant donné que l'administrateur par défaut d'un serveur OS Mac est membre de plusieurs groupes admin (par exemple _lpadmin, access_bpf, _appserveradm, etc.), vous pouvez les ajouter également dans le script.
Exemple :
ajoutez la ligne suivante au script pour ajouter l'utilisateur au groupe 'App Server Admins'
dscl . -append /Groups/_appserveradm GroupMembership $username;
Pour améliorer le script, vous pouvez également ajouter une condition pour vérifier si l'utilisateur saisi existe tout simplement.
LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.