Update README.md

This commit is contained in:
Ssyleric
2025-11-16 19:39:59 +01:00
committed by GitHub
parent a8254478ae
commit 775bdd882d

160
README.md
View File

@@ -1 +1,159 @@
# reset-mdp-jellyfin-BY-CLI
# Reset du mot de passe dun utilisateur Jellyfin via CLI (LXC)
## 🎯 Objectif
Réinitialiser le mot de passe dun utilisateur Jellyfin (`USER$` dans cet exemple) **sans recréer le compte**, directement depuis le conteneur LXC, quand linterface web affiche *Connection Failure* ou que le mot de passe est perdu.
Environnement :
- Jellyfin installé dans un LXC Ubuntu
- Base SQLite : `/var/lib/jellyfin/data/jellyfin.db`
- Accès root au LXC
---
## 1. Se connecter au conteneur Jellyfin
Depuis lhôte Proxmox (PVE), en root :
```bash
pct enter <CTID_JELLYFIN>
```
(Le prompt devient alors `root@jellyfin:/#`.)
Vérifier que Jellyfin tourne et écoute sur le port 8096 :
```bash
systemctl status jellyfin.service
ss -lntp | grep -E '8096|8920' || echo "Rien n'écoute sur 8096/8920"
```
---
## 2. Arrêter proprement le service Jellyfin
```bash
systemctl stop jellyfin.service
```
---
## 3. Sauvegarder la base de données Jellyfin
Se placer dans le répertoire des données :
```bash
cd /var/lib/jellyfin/data
ls jellyfin.db
```
Créer une sauvegarde horodatée :
```bash
cp jellyfin.db jellyfin.db.bak_$(date +%F_%H-%M-%S)
```
> En cas de problème, il suffira de restaurer :
>
> ```bash
> systemctl stop jellyfin.service
> cp jellyfin.db.bak_YYYY-MM-DD_HH-MM-SS jellyfin.db
> systemctl start jellyfin.service
> ```
---
## 4. Vérifier la liste des utilisateurs
Installer `sqlite3` si nécessaire :
```bash
apt update
apt install -y sqlite3
```
Lister les utilisateurs Jellyfin :
```bash
sqlite3 jellyfin.db "SELECT Id, Username FROM Users;"
```
Repérer lutilisateur cible, par exemple : USER$.
---
## 5. Réinitialiser le mot de passe de lutilisateur
Mettre le champ `Password` à `NULL` pour lutilisateur :
```bash
sqlite3 jellyfin.db "UPDATE Users SET Password=NULL WHERE Username='USER$';"
```
Vérifier :
```bash
sqlite3 jellyfin.db "SELECT Username, Password FROM Users WHERE Username='USER$';"
```
Résultat attendu :
```text
USER$|
```
(Colonne `Password` vide)
---
## 6. Redémarrer Jellyfin
```bash
systemctl start jellyfin.service
systemctl status jellyfin.service
```
Le service doit repasser en `active (running)`.
---
## 7. Connexion et changement de mot de passe
1. Ouvrir linterface Jellyfin :`http://<IP_LXC_JELLYFIN>:8096`
2. Sauthentifier avec :
- **Utilisateur** : USER$
- **Mot de passe** : **laisser vide**
3. Une fois connecté, aller dans :
- **Tableau de bord → Utilisateurs → USER$ → Mot de passe**
- Définir un **nouveau mot de passe** sécurisé.
---
## 8. Récapitulatif des commandes utilisées
```bash
# Dans le LXC Jellyfin
systemctl stop jellyfin.service
cd /var/lib/jellyfin/data
cp jellyfin.db jellyfin.db.bak_$(date +%F_%H-%M-%S)
sqlite3 jellyfin.db "SELECT Id, Username FROM Users;"
sqlite3 jellyfin.db "UPDATE Users SET Password=NULL WHERE Username='USER$';"
sqlite3 jellyfin.db "SELECT Username, Password FROM Users WHERE Username='USER$';"
systemctl start jellyfin.service
systemctl status jellyfin.service
```
---
## Notes
- Cette méthode ne supprime **aucun utilisateur** ni profils.
- Toujours conserver au moins **une sauvegarde** de `jellyfin.db` avant modification.
- La procédure est réutilisable pour nimporte quel utilisateur en changeant simplement :
```sql
WHERE Username='nom_utilisateur';
```