Ajouter gestion_comptes.sh
première version
This commit is contained in:
parent
812780f38f
commit
d705635814
1 changed files with 108 additions and 0 deletions
108
gestion_comptes.sh
Normal file
108
gestion_comptes.sh
Normal 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
|
||||
Loading…
Add table
Add a link
Reference in a new issue