#!/bin/bash # delete_account.sh set -e USERNAME="$1" if [[ -z "$USERNAME" ]]; then echo "Usage: $0 " >&2 exit 1 fi DOMAIN=$(grep "^domain=" /opt/copymail/config.sh 2>/dev/null | cut -d= -f2) [[ -z "$DOMAIN" ]] && DOMAIN=$(php -r "require '/opt/copymail/web/includes/db.php'; echo cfg('domain');") MAILDIR="/var/mail/vhosts/${DOMAIN}/${USERNAME}" SMBDIR="/srv/copymail/${USERNAME}" DOVECOT_PASSWD="/etc/dovecot/users" VMAILBOX="/etc/postfix/vmailbox" # --- Supprime le Maildir --- [[ -d "${MAILDIR}" ]] && rm -rf "${MAILDIR}" # --- Retire de vmailbox --- if [[ -f "${VMAILBOX}" ]]; then sed -i "/^${USERNAME}@${DOMAIN}/d" "${VMAILBOX}" postmap "${VMAILBOX}" fi # --- Retire de Dovecot passwd --- if [[ -f "${DOVECOT_PASSWD}" ]]; then sed -i "/^${USERNAME}@${DOMAIN}:/d" "${DOVECOT_PASSWD}" fi # --- Retire la section Samba --- SMB_CONF="/etc/samba/smb.conf" if grep -qF "[${USERNAME}]" "${SMB_CONF}"; then # Supprime la section du compte dans smb.conf python3 - </dev/null || true # --- Supprime le dossier SMB (ATTENTION: supprime les fichiers) --- [[ -d "${SMBDIR}" ]] && rm -rf "${SMBDIR}" # --- Rechargement --- systemctl reload postfix systemctl reload dovecot systemctl reload smbd echo "OK: compte ${USERNAME} supprimé."