419 votes

Comment puis-je changer mon nom d'utilisateur ?

Il y a quelque temps, lorsque j'ai installé Ubuntu, j'ai choisi un nom d'utilisateur plutôt stupide pour mon compte, que je ne veux plus utiliser.

Comment puis-je changer cela (y compris le nom de mon répertoire personnel, et le nom dans le terminal) sans perdre les paramètres des applications ?
Comment puis-je conserver les permissions et mes clés pour diverses authentifications (par exemple, e-mail, SSH, GPG et autres) ?
Quels paramètres pourraient être perdus si je changeais de nom d'utilisateur ?

450voto

Egil Points 13196

Les systèmes d'exploitation de type Unix découplent le nom d'utilisateur de l'identité de l'utilisateur, de sorte que vous pouvez sans risque changer le nom sans affecter l'identité. Toutes les permissions, tous les fichiers, etc. sont liés à votre identité (uid), et non à votre nom d'utilisateur.

Pour gérer tous les aspects de la base de données des utilisateurs, vous utilisez la fonction usermod outil.

Pour changer de nom d'utilisateur (il est probablement préférable de le faire sans être connecté) :

sudo usermod -l newUsername oldUsername

Cependant, cela ne renomme pas le dossier d'origine.

Pour changer de dossier d'accueil, utilisez

sudo usermod -d /home/newHomeDir -m newUsername

après avoir changé le nom d'utilisateur.

Par exemple, vous pouvez vous déconnecter, passer à une console ( Ctrl + Alt + F1 ), et sudo su - pour devenir une véritable racine (par opposition à sudo -s où $HOME est toujours /home/yourname). Il se peut que vous deviez d'abord tuer certains processus encore en cours d'exécution pour cet utilisateur. Pour ce faire, entrez ps -u username chercher le PID correspondant et les tuer en kill PID-number .

Mise à jour : comme indiqué dans l'arrangement, certains fichiers peuvent faire référence à votre ancien répertoire personnel. Vous pouvez soit garder un lien symbolique pour la compatibilité ascendante, par ex. ln -s /home/newname /home/oldname ou vous pouvez modifier le contenu du fichier avec sed -i.bak 's/*oldname*/*newname*/g' *list of files* Il crée une sauvegarde pour chaque fichier portant l'extension .bak.

Quelques informations supplémentaires pour les utilisateurs moins expérimentés comme moi :
Comme je n'ai qu'UN seul compte d'utilisateur (administrateur), je n'ai pas pu changer le nom d'utilisateur ("vous êtes déjà connecté" était la réponse dans TTY1). Ctrl + Alt + F1 ). Pour contourner ce problème :

  1. Connectez-vous avec vos anciennes informations d'identification et ajoutez un nouvel utilisateur, par exemple "temporaire" dans TTY1 :

    sudo adduser temporary

    définir le mot de passe.

  2. Autorisez l'utilisateur temporaire à exécuter sudo en ajoutant l'utilisateur au groupe sudo :

    sudo adduser temporary sudo
  3. Déconnectez-vous avec la commande exit .

  4. Retour à tty1 : Connectez-vous avec le compte utilisateur et le mot de passe 'temporaire'. Changez votre nom d'utilisateur et votre dossier comme indiqué ci-dessus. exit (jusqu'à ce que vous obteniez l'invite de connexion)

  5. Retourner à TTY7 ( Ctrl + Alt + F7 ) pour vous connecter sur l'écran GUI/bureau normal et voir si cela fonctionne.

  6. Supprimez l'utilisateur et le dossier temporaires :

    sudo deluser temporary
    sudo rm -r /home/temporary

136voto

Valentin Uveges Points 1479

Pour mettre tout ça ensemble :

  1. Déconnectez-vous de votre session ou redémarrez votre ordinateur pour revenir à l'écran de démarrage.

  2. A l'écran de démarrage, allez sur un tty en mode console. Appuyez sur Ctrl + Alt + F1 (sur certaines révisions d'Ubuntu, cela peut être Ctrl + Alt + F2 à la place)

  3. Connectez-vous en utilisant votre nom d'utilisateur et votre mot de passe.

  4. Définissez un mot de passe pour le compte "root".

     sudo passwd root
  5. Déconnexion.

     exit
  6. Connectez-vous en utilisant le compte "root" et le mot de passe que vous avez défini précédemment.

  7. Changez le nom d'utilisateur et le dossier personnel pour le nouveau nom que vous voulez.

     usermod -l <newname> -d /home/<newname> -m <oldname>
  8. Remplacez le nom du groupe par le nouveau nom que vous souhaitez.

     groupmod -n <newgroup> <oldgroup>
  9. Verrouillez le compte "root".

     passwd -l root
  10. Si vous utilisiez ecryptfs (répertoire personnel crypté). Montez votre répertoire crypté en utilisant ecryptfs-recover-private et modifier <mountpoint>/.ecryptfs/Private.mnt pour refléter votre nouveau répertoire d'origine.

  11. Déconnexion.

    exit
  12. Appuyez sur Ctrl + Alt + F7 pour revenir à l'écran de connexion en mode graphique d'Ubuntu (sur certaines révisions d'Ubuntu, cela peut être Ctrl + Alt + F1 ).

Et maintenant vous pouvez vous connecter en utilisant votre nouveau nom d'utilisateur.

31voto

Rob Gray Points 1556

Redémarrez en mode récupération et allez à l'invite root Shell ("Drop to root Shell prompt").

Remontez d'abord la racine

mount -o remount,rw /

Pour modifier le nom d'utilisateur et le nom du dossier personnel,

usermod -l <newname> -d /home/<newname> -m <oldname>

Pour le nom du groupe,

groupmod -n <newgroup> <oldgroup>

10voto

Chicodoodoo Points 125

Sur Ubuntu 13.10, 14.04, 16.04 :

  1. Cliquez sur l'icône "Paramètres du système".
  2. Cliquez sur "Comptes d'utilisateurs".
  3. Votre compte administrateur devrait s'afficher.
  4. Cliquez sur le bouton "Déverrouiller".
  5. Saisissez votre mot de passe utilisateur comme demandé pour autoriser les modifications de votre compte.
  6. Une fois déverrouillé, vous pouvez cliquer sur l'ancien nom d'utilisateur que vous souhaitez modifier et saisir un nouveau nom d'utilisateur pour le remplacer.
  7. Lorsque vous avez saisi le nouveau nom, cliquez sur le bouton "Verrouiller" pour rendre la modification permanente.
  8. Redémarrez Ubuntu.

3voto

user1511576 Points 41

Lorsque vous recevez usermod: can't change /etc/password il suffit d'exécuter les commandes suivantes :

Dans la console de récupération racine, exécutez :

mount -o remount,rw /

Puis rediffuser :

usermod -l <newname> -d /home/<newname> -m <oldname>

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X