Comment changer mon nom d'utilisateur?

261

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 souhaite 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 conserver les autorisations et les clés pour diverses authentifications (par exemple, courrier électronique, SSH, GPG et autres)?
Quels paramètres pourraient être perdus si je changeais mon nom d'utilisateur?

    
posée Takkat 08.04.2011 - 10:25
la source

7 réponses

256

Les systèmes d’exploitation de type Unix dissocient le nom d’utilisateur de l’identité de l’utilisateur, vous pouvez donc modifier le nom en toute sécurité sans affecter l’ID. Toutes les autorisations, fichiers, etc. sont liés à votre identité (uid), pas à votre nom d'utilisateur.

Pour gérer tous les aspects de la base de données utilisateur, utilisez l’outil usermod .

Pour modifier le 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 de base.

Pour changer de dossier, utilisez

sudo usermod -d /home/newHomeDir -m newUsername

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

Par exemple, vous pouvez vous déconnecter, accéder à une console ( Ctrl + Alt + F1 ), et sudo su - pour devenir vrai root (par opposition à sudo -s , où $ HOME est toujours / home / votrenom). Peut-être devez-vous également tuer certains processus encore en cours d'exécution de cet utilisateur. Pour ce faire, entrez ps -u username , recherchez le PID correspondant et supprimez-les de kill PID-number .

Mise à jour: comme indiqué, certains fichiers peuvent faire référence à votre ancien répertoire personnel. Vous pouvez conserver un lien symbolique pour la compatibilité descendante, par exemple 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 avec une extension .bak.

Quelques informations supplémentaires pour des utilisateurs moins expérimentés comme moi:
Comme je n'ai qu'un seul compte d'utilisateur (administrateur), cela ne me permettrait pas de 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 ex. "temporaire" dans TTY1:

    sudo adduser temporary
    

    définir le mot de passe.

  2. Autoriser 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 'temporaires'. Changez votre nom d'utilisateur et votre dossier comme mentionné ci-dessus. exit (jusqu'à ce que vous obteniez l'invite de connexion)
  5. Retournez à TTY7 ( Ctrl + Alt + F7 ) pour vous connecter à l’écran de l’interface graphique / bureau normal et voir si cela fonctionne.
  6. Supprimer l’utilisateur temporaire et le dossier:

    sudo deluser temporary
    sudo rm -r /home/temporary
    
réponse donnée Egil 08.04.2011 - 10:48
la source
90

Pour tout rassembler:

  1. À l'écran de démarrage, appuyez sur Ctrl + Alt + F1 .
  2. Connectez-vous avec votre nom d'utilisateur et votre mot de passe.
  3. Définissez un mot de passe pour le compte "root".

    sudo passwd root
    
  4. Déconnexion.

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

  6. Remplacez le nom d'utilisateur et le dossier personnel par le nouveau nom souhaité.

    usermod -l <newname> -d /home/<newname> -m <oldname>
    
  7. Remplacez le nom du groupe par le nouveau nom souhaité.

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

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

  10. Déconnexion.

    exit
    
  11. Appuyez sur Ctrl + Alt + F7 .

Et maintenant, vous pouvez vous connecter avec votre nouveau nom d'utilisateur.

    
réponse donnée Valentin Uveges 06.07.2013 - 11:43
la source
24

Redémarrez en mode de récupération et accédez au shell d’invite racine ("Invite du shell root")

Remontez d'abord la racine

mount -o remount,rw /

Pour modifier le nom d'utilisateur et le nom du dossier de base,

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

Pour le nom du groupe,

groupmod -n <newgroup> <oldgroup>
    
réponse donnée karthick87 08.04.2011 - 11:23
la source
10

(Utiliser Ubuntu 13.10, 14.04, 16.04) Cliquez sur l'icône "Paramètres système". Cliquez ensuite sur "Comptes utilisateurs". Votre compte administrateur doit être affiché. Cliquez sur le bouton "Déverrouiller". Entrez votre mot de passe utilisateur comme demandé pour autoriser les modifications sur votre compte. Une fois débloqué, vous pouvez cliquer sur votre ancien nom d'utilisateur que vous souhaitez modifier et saisir un nouveau nom d'utilisateur pour le remplacer. Lorsque vous avez tapé le nouveau nom, cliquez sur le bouton "Verrouiller" pour rendre le changement permanent. Redémarrez Ubuntu.

    
réponse donnée Chicodoodoo 08.07.2014 - 00:45
la source
3

Lors de la réception de usermod: can't change /etc/password , exécutez simplement les commandes suivantes:

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

mount -o remount,rw /

Puis relancez:

usermod -l <newname> -d /home/<newname> -m <oldname>
    
réponse donnée user1511576 30.07.2014 - 14:14
la source
0

quand vous faites usermod -l <newname> -d /home/<newname> -m <oldname> vous obtiendrez Message d'erreur useradd: can't change /etc/passwd pour éviter cela, ajoutez simplement sudo -- à la commande ci-dessus comme

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

et

sudo --  groupmod -n <newgroup> <oldgroup>
    
réponse donnée Sriraj Hebbar 06.08.2013 - 08:12
la source
-3

Comme tous les PC ne disposent pas de l’application usermod , vous pouvez le faire manuellement. A partir de root, ouvrez /etc/passwd pour éditer:

sudo vim /etc/passwd

et modifiez le nom de l'utilisateur au début d'une ligne:

user:x:500:501:username:home/user:/bin/bash

à:

newuser:x:500:501:username:home/user:/bin/bash

alors si vous travailliez de root, connectez-vous et si vous avez été connecté à user , déconnectez-vous et reconnectez-vous.

    
réponse donnée Малъ Скрылевъ 16.12.2014 - 14:15
la source

Lire d'autres questions sur les étiquettes