...
Avant tout, il est important que les données issues d'un partage soient conservées, pour laisser le temps au destinataire final de les récupérer, si nécessaire.
| Suppression du compte | Archive de l'espace | On informe | Commentaires | ||
| Un utilisateur n'est plus présent dans notre ldap | |||||
|---|---|---|---|---|---|
| 1 | s'il n'a effectué aucun partage | ||||
|
| |||
| 2 | s'il a effectué des partages | à J+30 |
|---|
On informe les destinataires des partages |
|
|
Dans les cas ci-dessous, on notera "User 0" l'utilisateur dont le compte LDAP a été supprimé (compte ldap-remnant dans Nextcloud) et qu'il faut supprimer.
...
| Bloc de code |
|---|
Scénario traitement compte LDAP_Remanent_BUL
--------------------------------------------
- On liste des comptes 'ldap-remnants'
- On vérifie pour chaque utilisateur, qu'il ne soit pas présent dans le fichier de traitement "<nom_du_script>.txt"
SI OUI
- On vérifie si l'utilisateur a des partages
SI OUI
- On alimente le fichier de traitement "<nom_du_script>.txt" avec les informations récupérées de la BDD, date_remove est au format timestamps et valué à la date du jour +31 jours :
uid_owner;uid_initiator;share_with;file_target;date_remove
SINON
- Création de l'archive : `cd ${DIR_DATA}/${USER}/files && zip -r ${DIR_SAVE}/${DATE}-${USER}.zip * && cd ${DIR}`
- Suppression du compte 'ldap-remnants' : `sudo -u apache /usr/bin/php ${DIR_BUL}/php/console.php user:delete ${USER}`
FI
SINON
- On vérifie la date de suppression du compte : $date_remove
Cas 1 (J-30)
- On vérifie dans le fichier "<nom_du_script>.txt", que $share_with n'est pas vide
SI OUI
- On construit le corps du mail en listant les partages et les personnes ayant l'accès
- On envoie le mail
SINON
- On ne fait rien
Cas 1 (J-15)
- On vérifie dans le fichier "<nom_du_script>.txt", que $share_with n'est pas vide
SI OUI
- On construit le corps du mail en listant les partages et les personnes ayant l'accès
- On envoie le mail
SINON
- On ne fait rien
Cas 2 (J-1)
- On vérifie dans le fichier "<nom_du_script>.txt", que $share_with n'est pas vide
SI OUI
- On construit le corps du mail en listant les partages et les personnes ayant l'accès
- On envoie le mail
SINON
- On ne fait rien
Cas 3 (Jour J)
- Création de l'archive : `cd ${DIR_DATA}/${USER}/files && zip -r ${DIR_SAVE}/${DATE}-${USER}.zip * && cd ${DIR}`
- Suppression du compte 'ldap-remnants' : `sudo -u apache /usr/bin/php ${DIR_BUL}/php/console.php user:delete ${USER}`
- Suppression de la ligne dans le fichier "<nom_du_script>.txt" : `sed -i "/^${USER}/d" ${FILE_TRAITEMENT}`
- On vérifie la cohérence des partages entre la BDD et le fichier de traitement, ce qui permettra aux personnes ayant désactiver le partage de ne plus recevoir de mail de rappel.
- On effectue un diff entre la requête SQL pour alimenter le fichier de traitement et le fichier de traitement
SI il y a des (-) on supprime du fichier de traitement
SI il y a des (+) on ajoute au fichier de traitement en fin de fichier
FI
- On vérifie s'il existe des archives depuis plus de 6 mois, si c'est le cas, on supprime
find ${DIR_SAVE}/*.zip -mtime +${JRS_SUPP} -delete |
Sources
| Description | Fichier |
|---|---|
Fichier principal de traitement | |
Fichier des fonctions utilisées | |
Fichier de configuration LDAP |
Contact
Pour toutes questions vous pouvez me contactez à mon adresse email : camille.herry@univ-lorraine.fr