53 lines
2.9 KiB
Markdown
53 lines
2.9 KiB
Markdown
# Forcer la réinitialisation d'un mot de passe utilisateur Nextcloud
|
|
|
|
En tant qu'administrateur Nextcloud, il arrive de devoir réinitialiser le mot de passe d'un utilisateur (oubli, compte compromis, départ d'un collaborateur, etc.). L'outil en ligne de commande `occ` permet de le faire directement depuis le serveur.
|
|
|
|
## Prérequis
|
|
|
|
- Un accès SSH au serveur hébergeant Nextcloud
|
|
- Les droits `sudo` pour exécuter la commande sous l'utilisateur web (`www-data` sur Debian/Ubuntu, `apache` ou `nginx` selon les distributions)
|
|
- Le chemin d'installation de Nextcloud (typiquement `/var/www/nextcloud` pour une installation manuelle ; à adapter pour Docker, Snap ou un hébergement mutualisé)
|
|
|
|
## Réinitialisation interactive
|
|
|
|
La commande de base, pour réinitialiser le mot de passe de l'utilisateur `jdupont` :
|
|
|
|
```bash
|
|
sudo -u www-data php /var/www/nextcloud/occ user:resetpassword jdupont
|
|
```
|
|
|
|
Le nouveau mot de passe est demandé deux fois en saisie cachée.
|
|
|
|
## Réinitialisation non interactive
|
|
|
|
Pour automatiser l'opération (script, déploiement), on peut passer le mot de passe via une variable d'environnement :
|
|
|
|
```bash
|
|
export OC_PASS='NouveauMotDePasse'
|
|
sudo -u www-data --preserve-env=OC_PASS php /var/www/nextcloud/occ user:resetpassword --password-from-env jdupont
|
|
unset OC_PASS
|
|
```
|
|
|
|
⚠️ Cette méthode laisse temporairement le mot de passe dans l'environnement du shell. À réserver aux scripts maîtrisés et à éviter dans un historique de commandes (préfixer la commande d'un espace si `HISTCONTROL=ignorespace` est actif).
|
|
|
|
## Cas particulier : chiffrement côté serveur activé
|
|
|
|
Si le chiffrement côté serveur est activé, la réinitialisation du mot de passe **rend les fichiers de l'utilisateur inaccessibles**, car la clé de chiffrement est dérivée de l'ancien mot de passe. Pour préserver l'accès aux données, il faut soit :
|
|
|
|
- connaître l'ancien mot de passe et utiliser la procédure de changement classique,
|
|
- ou activer au préalable la clé de récupération (*recovery key*) et l'utiliser pour rétablir l'accès après réinitialisation.
|
|
|
|
À vérifier avant toute manipulation sur un compte utilisateur en production.
|
|
|
|
## Après la réinitialisation
|
|
|
|
Nextcloud n'envoie pas automatiquement de notification à l'utilisateur lors d'une réinitialisation via `occ`. Il faut donc lui transmettre le nouveau mot de passe par un canal sécurisé et, idéalement, lui demander de le changer dès la première connexion.
|
|
|
|
## Alternative : l'interface web
|
|
|
|
Pour un cas ponctuel, l'interface graphique reste souvent plus rapide : **Paramètres → Utilisateurs**, puis l'icône en forme de crayon à côté du compte concerné. La ligne de commande garde l'avantage en cas de perte d'accès admin, de script de masse, ou de serveur sans interface graphique disponible.
|
|
|
|
## Pour aller plus loin
|
|
|
|
Documentation officielle de la commande `occ` : <https://docs.nextcloud.com/server/latest/admin_manual/configuration_server/occ_command.html>
|