Je suis en train d'essayer d'écrire un script pour ajouter un utilisateur à un ordinateur. Il ne s'agira pas de comptes administrateurs, mais de comptes du personnel. J'ai exécuté le script suivant et je peux me connecter au compte, mais je ne peux pas accéder à fichiers, créer des fichiers ou enregistrer des fichiers sur l'ordinateur.
En fin de compte, j'aimerais exécuter cela pour supprimer 5 comptes d'utilisateurs et toutes leurs informations, puis créer 5 nouveaux comptes (c'est dans une salle de classe où j'ai 36 ordinateurs), mais j'ai du mal à créer un seul utilisateur correctement avec le script suivant.
Toute aide serait grandement appréciée.
#!/bin/bash
USERNAME=per1
FULLNAME="Période 1"
PASSWORD="test"
GROUPES_SECONDAIRES="staff"
# ====
if [[ $UID -ne 0 ]]; then echo "Veuillez exécuter $0 en tant que superutilisateur." && exit 1; fi
# Trouver le prochain identifiant d'utilisateur disponible
MAXID=$(dscl . -list /Users UniqueID | awk '{print $2}' | sort -ug | tail -1)
USERID=$((MAXID+1))
# Créer le compte utilisateur
dscl . -create /Users/$USERNAME
dscl . -create /Users/$USERNAME UserShell /bin/bash
dscl . -create /Users/$USERNAME RealName "$FULLNAME"
dscl . -create /Users/$USERNAME UniqueID "$USERID"
dscl . -create /Users/$USERNAME PrimaryGroupID 20
dscl . -create /Users/$USERNAME NFSHomeDirectory /Users/$USERNAME
dscl . -passwd /Users/$USERNAME $PASSWORD
# Ajouter l'utilisateur aux groupes spécifiés
for GROUP in $GROUPES_SECONDAIRES ; do
dseditgroup -o edit -t user -a $USERNAME $GROUP
done
# Créer le répertoire personnel
createhomedir -c > /dev/null
echo "Utilisateur #$USERID créé: $USERNAME ($FULLNAME)"