Comptes et Authentification
Perte de l'accès Administrateur
Si vous avez complètement perdu le mot de passe du seul compte administrateur, vous pouvez forcer la réinitialisation du mot de passe directement dans la base de données.
Prérequis : Vous devez avoir un accès SSH "root" (ou sudo) au serveur hébergeant CoreSight.
Procédure de réinitialisation en ligne de commande :
Copiez et collez la commande complète suivante dans le terminal de votre serveur. Cette commande va se connecter à la base de données chiffrée en utilisant la clé .env et écraser le mot de passe du premier compte administrateur trouvé avec NewAdminPassword123!.
bash
# 1. Arrêter le service
sudo systemctl stop coresight
# 2. Exécuter le script de réinitialisation via l'interpréteur Node.js embarqué
sudo /opt/coresight/node/bin/node -e "
const bcrypt = require('/opt/coresight/server/node_modules/bcryptjs');
const Database = require('/opt/coresight/server/node_modules/better-sqlite3-multiple-ciphers');
const key = require('fs').readFileSync('/opt/coresight/server/.env', 'utf8').match(/DB_ENCRYPTION_KEY=(.+)/)[1].trim();
const db = new Database('/opt/coresight/server/data/coresight.db');
db.pragma('key=\'' + key + '\'');
// Chiffrement du nouveau mot de passe
const hash = bcrypt.hashSync('NewAdminPassword123!', 10);
// Mise à jour de la BDD et forçage du changement à la première connexion
const info = db.prepare('UPDATE users SET password_hash=?, must_change_password=1, two_factor_enabled=0, two_factor_secret=NULL WHERE role=? ORDER BY id LIMIT 1').run(hash, 'admin');
if(info.changes > 0) {
console.log('Succès ! Le mot de passe a été réinitialisé en: NewAdminPassword123!');
} else {
console.log('Erreur : Aucun compte admin trouvé.');
}
db.close();
"
# 3. Redémarrer le service
sudo systemctl start coresightAprès cette manipulation :
- Connectez-vous avec
NewAdminPassword123! - Le système vous obligera immédiatement à choisir un nouveau mot de passe fort.
- La validation en deux étapes (2FA) a également été désactivée pour ce compte au cas où vous auriez perdu votre téléphone.
Blocage 2FA (TOTP invalide)
Si un utilisateur ne peut plus se connecter car les codes générés par son téléphone sont toujours refusés :
- Vérifiez l'heure du serveur : Le protocole TOTP est extrêmement sensible au décalage horaire. Assurez-vous que le serveur CoreSight est synchronisé avec un serveur NTP. Un décalage de plus de 30 secondes fera échouer l'authentification.bash
timedatectl status - Désactiver la 2FA pour un utilisateur : Un administrateur peut se rendre dans Administration > Utilisateurs et désactiver la 2FA de l'utilisateur concerné. Ce dernier devra re-scanner un nouveau QR code lors de sa prochaine connexion.
