mattermost/README.delete-user

105 lines
2.7 KiB
Plaintext

# ---
# Delete User
# ---
# see: https://docs.mattermost.com/manage/command-line-tools.html#mattermost-user-delete
# There are two levels in user deactivation/deletion:
#
# The first one is user deactivation which is what you performed. After deactivating a user,
# that user becomes archived and you can still search him/her and read their messages in
# channels.
#
# The second is user deletion. You can do this via a CLI command. Note that when you permanently
# delete a user, all their posts and past activities will get permanently deleted.
# Permanently delete a user and all related information, including posts from the database.
#
# Requirement:
# Set "EnableAPIUserDeletion" to "true" in file /opt/mattermost/config/config.json and restart mattermost
#
# /opt/mattermost/bin/mmctl user delete <users>
#
# Note:
# Does not delete content from the file storage. You can manually delete all file uploads
# for a given user as uploads contain the CreatorId field. User profile pictures are stored
# in data/users/<userid>/profile.png.
# Set "EnableAPIUserDeletion" to "true" in file /opt/mattermost/config/config.json
#
perl -i -n -p -e "s/^(\s*\"EnableAPIUserDeletion\":).*$/\1 true,/" /opt/mattermost/config/config.json
# Restart Mattermost
#
systemctl restart mattermost
usr_to_delete="
a.marinou-strohm
angelika
bennie
clarissa
david
fabian
georg
hanna
hannahnieswand
leonie
leoniestetter
lilian
lisa
lsachenbacher
ludwig
klaudia
mads
owain
stina
tim_vallee
viktar
"
clear
echo ""
for _user in $usr_to_delete ; do
echo ""
echo $_user
if $(mmctl user list 2> /dev/null | grep -q $_user) ; then
echo -n " Delete user '$_user' [yes/no]: "
read OK
OK="${OK,,}"
while [[ "$OK" != "yes" ]] && [[ "$OK" != "no" ]] ; do
echo -n " Wrong answer - repeat [yes/no]: "
read OK
OK="${OK,,}"
done
if [[ $OK = "yes" ]] ; then
# Delete user
#
/opt/mattermost/bin/mmctl user delete $_user --confirm > /dev/null 2>&1
if [[ $? -ne 0 ]]; then
echo -e " [ \033[31m\033[1mError\033[m ] Deleting user '$_user' failed!"
else
echo -e " [ \033[32m\033[1mInfo\033[m ] User '$_user' was deleted."
fi
else
echo -e " [ \033[33m\033[1mWarning\033[m ] User '$_user' was omitted"
fi
else
echo -e " [ \033[31m\033[1mError\033[m ] User '$_user' not found!"
fi
done
# Set "EnableAPIUserDeletion" to "false" in file /opt/mattermost/config/config.json
#
perl -i -n -p -e "s/^(\s*\"EnableAPIUserDeletion\":).*$/\1 false,/" /opt/mattermost/config/config.json
# Restart Mattermost
#
systemctl restart mattermost