108 lines
No EOL
4 KiB
Bash
108 lines
No EOL
4 KiB
Bash
#!/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 |