30 lines
1.4 KiB
Bash
30 lines
1.4 KiB
Bash
#!/bin/bash
|
|
|
|
# Récupérer la liste des administrateurs actuels
|
|
current_admins=$(docker exec -u 33 neah-nextcloud php occ user:list --output=json | jq -r '.[] | select(.isadmin == true) | .uid')
|
|
|
|
# Pour chaque admin actuel
|
|
for admin in $current_admins; do
|
|
# Vérifier si l'utilisateur est toujours dans le groupe admin
|
|
is_in_admin_group=$(docker exec -u 33 neah-nextcloud php occ group:list --output=json | jq -r --arg user "$admin" '.admin.users | contains([$user])')
|
|
|
|
if [ "$is_in_admin_group" = "false" ]; then
|
|
# Retirer les droits admin si l'utilisateur n'est plus dans le groupe
|
|
docker exec -u 33 neah-nextcloud php occ user:info "$admin" --output=json | jq -r '.groups[]'
|
|
docker exec -u 33 neah-nextcloud php occ group:removeuser admin "$admin"
|
|
fi
|
|
done
|
|
|
|
# Récupérer la liste des membres du groupe admin
|
|
admin_group_members=$(docker exec -u 33 neah-nextcloud php occ group:list --output=json | jq -r '.admin.users[]')
|
|
|
|
# Pour chaque membre du groupe admin
|
|
for member in $admin_group_members; do
|
|
# Vérifier si l'utilisateur a les droits admin
|
|
is_admin=$(docker exec -u 33 neah-nextcloud php occ user:list --output=json | jq -r --arg user "$member" '.[$user].isadmin')
|
|
|
|
if [ "$is_admin" = "false" ]; then
|
|
# Ajouter les droits admin
|
|
docker exec -u 33 neah-nextcloud php occ group:adduser admin "$member"
|
|
fi
|
|
done |