Ajouter gestion_comptes.sh

première version
This commit is contained in:
lprik 2025-08-20 08:34:54 +00:00
parent 812780f38f
commit d705635814

108
gestion_comptes.sh Normal file
View file

@ -0,0 +1,108 @@
#!/bin/bash
# gestion_comptes.sh - Gestion avancée des comptes SNT
NEXTCLOUD_DATA="/var/www/html/nextcloud/data"
NEXTCLOUD_ROOT="/var/www/html/nextcloud"
PROF_USERNAME="profsnt"
case "$1" in
"ajouter")
echo "📝 Ajout de nouveaux comptes depuis $2"
./setup_complet_snt_v2.sh "$2"
;;
"lister")
echo "📋 Liste des comptes créés :"
if [[ -f "comptes_crees.csv" ]]; then
echo "Total: $(wc -l < comptes_crees.csv) comptes"
echo ""
column -t -s',' comptes_crees.csv
else
echo "Aucun fichier comptes_crees.csv trouvé"
fi
echo ""
echo "👥 Membres du groupe 'eleves' :"
sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves
;;
"groupe")
echo "👥 Gestion du groupe eleves"
echo ""
echo "Membres actuels :"
sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves
echo ""
echo "Statistiques :"
nb_membres=$(sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves | wc -l)
echo " Nombre de membres : $nb_membres"
;;
"quota-groupe")
echo "📊 Définir quota pour tous les élèves du groupe"
read -p "Nouveau quota (ex: 125 MB, 200 MB) : " nouveau_quota
if [[ -n "$nouveau_quota" ]]; then
echo "Application du quota $nouveau_quota à tous les élèves..."
sudo -u www-data php "$NEXTCLOUD_ROOT/occ" group:list-users eleves | while read username; do
sudo -u www-data php "$NEXTCLOUD_ROOT/occ" user:setting "$username" files quota "$nouveau_quota"
echo "$username : $nouveau_quota"
done
echo "✅ Quota appliqué à tous les membres du groupe"
fi
;;
"sauvegarder")
DATE=$(date +%Y%m%d_%H%M)
cp comptes_crees.csv "comptes_crees_backup_$DATE.csv"
echo "✅ Sauvegarde créée : comptes_crees_backup_$DATE.csv"
;;
"verifier")
echo "🔍 Vérification des comptes..."
while IFS=',' read -r username password email classe; do
[[ "$username" = "Username" ]] && continue
if sudo -u www-data php "$NEXTCLOUD_ROOT/occ" user:info "$username" > /dev/null 2>&1; then
echo "$username : OK"
else
echo "$username : MANQUANT"
fi
done < comptes_crees.csv
;;
"nettoyer")
echo "⚠️ ATTENTION: Suppression de tous les comptes listés dans comptes_crees.csv"
read -p "Continuer? (oui/non): " confirm
if [[ "$confirm" = "oui" ]]; then
while IFS=',' read -r username password email classe; do
[[ "$username" = "Username" ]] && continue
echo "🗑️ Suppression: $username"
sudo -u www-data php "$NEXTCLOUD_ROOT/occ" user:delete "$username"
done < comptes_crees.csv
# Supprimer les dossiers classes
rm -rf "$NEXTCLOUD_DATA/$PROF_USERNAME/files/Classes_SNT"
# Archiver le fichier
DATE=$(date +%Y%m%d_%H%M)
mv comptes_crees.csv "comptes_crees_supprime_$DATE.csv"
echo "✅ Nettoyage terminé"
fi
;;
*)
echo "Usage: $0 {ajouter|lister|groupe|quota-groupe|sauvegarder|verifier|nettoyer}"
echo ""
echo "Commandes :"
echo " ajouter fichier.csv - Ajoute de nouveaux comptes"
echo " lister - Liste tous les comptes créés"
echo " groupe - Affiche les membres du groupe eleves"
echo " quota-groupe - Défini quota pour tous les élèves"
echo " sauvegarder - Sauvegarde comptes_crees.csv"
echo " verifier - Vérifie que tous les comptes existent"
echo " nettoyer - Supprime tous les comptes (DANGER)"
;;
esac