web-dev-qa-db-fra.com

Comment 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 souhaite plus utiliser.

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

307
Takkat

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 chaque aspect de la base de données utilisateur, utilisez l'outil usermodname__.

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

Sudo usermod -l newUsername oldUsername

Cela ne renomme toutefois pas le dossier de base.

Pour changer le dossier de départ, 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 vraie racine (par opposition à Sudo -s, où $ HOME est toujours/home/votrenom.) Peut-être devez-vous aussi d'abord tuer certains processus en cours d'exécution de cet utilisateur. Pour ce faire, entrez ps -u username, recherchez le PID correspondant et supprimez-le avec kill PID-number.

Mise à jour: comme indiqué, certains fichiers peuvent faire référence à votre ancien répertoire de base. Vous pouvez conserver un lien symbolique pour assurer la compatibilité ascendante, par exemple ln -s /home/newname /home/oldname ou 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 utilisateur (administrateur), cela ne me permet pas de changer le nom d’utilisateur ("vous êtes déjà connecté" était la réponse dans ATS1 (Ctrl+Alt+F1). Pour contourner cela:

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

    Sudo adduser temporary
    

    définir le mot de passe.

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

    Sudo adduser temporary Sudo
    
  3. Déconnectez-vous avec la commande exitname__.
  4. Revenir à tty1: Connectez-vous avec le compte utilisateur et le mot de passe 'temporaires'. Changez votre nom d'utilisateur et dossier comme mentionné ci-dessus. exit(jusqu'à ce que vous obteniez l'invite de connexion)
  5. Retournez à TTY7 (Ctrl+Alt+F7) pour vous connecter sur l’écran GUI/normal et voir si cela fonctionne.
  6. Supprimer un utilisateur et un dossier temporaires:

    Sudo deluser temporary
    Sudo rm -r /home/temporary
    
309
Egil

Pour tout mettre ensemble:

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

    Sudo passwd root
    
  4. Connectez - Out.

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

  6. Remplacez le nom d'utilisateur et le dossier de base 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 de base chiffré). Montez votre répertoire chiffré à l’aide de ecryptfs-recover-private et éditez <mountpoint>/.ecryptfs/Private.mnt pour refléter votre nouveau répertoire de base.

  10. Connectez - Out.

    exit
    
  11. Presse Ctrl+Alt+F7.

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

100
Valentin Uveges

Redémarrez en mode de récupération et accédez à l'invite racine Shell (option "Passer à l'invite shell racine").

Remontez d'abord la racine

mount -o remount,rw /

Pour changer 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>
26
karthick87

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

9
Chicodoodoo

Lorsque vous recevez 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>
3
user1511576

La réponse indiquée ici par @ karthick87 fonctionne parfaitement, mais voici ce que je ferais pour être sûr et éviter tous les problèmes:

  1. Créez un compte/utilisateur distinct et assurez-vous que ce compte/utilisateur possède les capacités root ou connectez-vous en tant qu'utilisateur root.
  2. Déconnectez-vous avec le compte actuel, puis connectez-vous avec le compte mentionné à l'étape 1.
  3. Tuez tous les processus de l'utilisateur précédent.
  4. Suivez maintenant les étapes mentionnées par @ karthick87 et changez le nom d'utilisateur ainsi que le propriétaire du répertoire personnel.
  5. Suivez ensuite la réponse de @Sriraj Hebbar pour changer le nom du groupe.
  6. déconnectez-vous avec l'utilisateur de secours et connectez-vous avec votre utilisateur. Si vous avez créé un utilisateur supplémentaire, supprimez-le.

quand vous faites usermod -l <newname> -d /home/<newname> -m <oldname> vous obtiendrez un message d'erreur useradd: can't change /etc/passwd pour éviter cela, il vous suffit d'ajouter Sudo -- à la commande ci-dessus, comme

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

et

Sudo --  groupmod -n <newgroup> <oldgroup>
0
Sriraj Hebbar