Vendredi - Ajouter des Utilisateurs à un Groupe
10/12/2004
Ce script ajoute un ou plusieurs utilisateurs à un groupe. Passez lui le nom du groupe et une liste de noms raccourcis d’utilisateur.
Pas mal de vérifications sont effectuées comme vous pouvez vous en rendre compte dans les commentaires du script.
Allez chercher le script ici.
NOTE: CE SCRIPT A ETE ECRIT POUR PANTHER (10.3)
#!/bin/bash # Ajout de nouveaux utilisateurs à un groupe. # Ajoute un utilisateur (ou plusieurs) à un groupe existant dans NetInfo
usage () { echo "Ajouter un utilisateur (ou plusieurs) à un groupe existant" echo "Usage: ${0##*/} group user [user...]" if [ "$*" != "" ]; then echo " Erreur : $*"; fi exit 1 }
# Lancé par root ? # if [ "$USER" != "root" ]; then echo "Ce script doit être lancé par root." exit 1 fi
# Vérfication des paramètres # if [ $# -lt 2 ]; then usage fi
group=$1
# Recherche le groupe donné dans NetInfo - il doit exister str="$(nireport . /groups name | grep -w $group)" if [ -z "$str" ]; then usage "Le Groupe $group n'existe pas" fi
# Obtient le numéro du groupe à partir du nom gid="$(nireport . /groups gid name | grep $group | cut -f 1)"
# Boucle de lecture des paramètres (utilisateurs) à ajouter au groupe # shift
for user in $*; do # Vérifie que l'utilisateur existe struser="$(nireport . /users name | grep -w $user)" # Vérifie si l'utilisateur n'est pas déjà présent dans le groupe stringroup=$(nireport . /groups name users | grep -w "$group[[:space:]].*$user") # Vérifie si le groupe est le groupe primaire de l'utilisateur strprimary=$(nireport . /users name gid | grep -w "$user[[:space:]].*$gid")
#echo "Utilisateur $struser, dans le groupe $stringroup, primaire $strprimary"
# Vérifie que l'utilisateur existe... if [ -z "$struser" ]; then echo "Utilisateur $user inexistant" # ...et qu'il n'appartient pas déjà au groupe... elif [ ! -z "$stringroup" ]; then echo "Utilisateur $user déjà présent dans le groupe $group - aucun ajout effectué" # ...et que ce n'est pas le groupe primaire elif [ ! -z "$strprimary" ]; then echo "Ce groupe ets le groupe primaire de l'Utilisateur - aucun ajout effectué" else # Ajout de l'Utilisateur au groupe dscl . merge /groups/$group users "$user" echo "$user ajouté au groupe $group" fi done
exit 0
Si vous souhaitez en apprendre plus sur Mac OS X Unix visitez le Learning Center
cliquez ici.
- Pour les débutants : Le Tutoriel Mac OS X Unix
- Pour plus d’informations sur des sujets spécifiques : Mac OS X Advanced Unix
- Pour des réponses à des problèmes communs : Mac OS X How To
Chargement
Commentaires récents