web-dev-qa-db-fra.com

Comment renommer un utilisateur en toute sécurité?

J'ai mal orthographié le nom d'utilisateur lors de l'installation d'Ubuntu et j'aimerais renommer si possible. Comment puis-je changer mon nom d'utilisateur en toute sécurité?

7
Ivan

Sans encombre? Ne pas renommer du tout. Au lieu de cela, (assurez-vous que l'utilisateur est d'abord déconnecté), créez un nouvel utilisateur avec le nom d'utilisateur correct, renommez l'ancien répertoire de base en nouveau nom d'utilisateur et chown -R le dossier du nouvel utilisateur.

Cela suppose que vous n'utilisez pas de maisons cryptées. Cela nécessiterait différentes étapes, mais comme je ne l’ai pas fait moi-même, je le laisserai à quelqu'un d’autre.

6

Utilisez usermod comme suit:

usermod -l newname currentname
6
Darth Egregious

J'ai récemment fait face à un tel problème et j'ai trouvé une solution efficace.

  1. Faire une sauvegarde des fichiers liés aux utilisateurs et aux groupes

    Sudo cp /etc/passwd ~/passwd.bak
    Sudo cp /etc/group ~/group.bak
    Sudo cp /etc/subuid ~/subuid.bak
    Sudo cp /etc/subgid ~/subgid.bak
    Sudo cp /etc/gshadow ~/gshadow.bak
    Sudo cp /etc/shadow ~/shadow.bak
    
  2. Nous devons démarrer en mode de récupération (cliquez sur Shift au démarrage, dans GRUB, sélectionnez options avancées pour Ubunt, sélectionnez buntu, avec Linux ... (mode de récupération))

  3. Sélectionnez root Drop to root Shell Prompt pour accéder à root-shell
  4. Entrez votre mot de passe d'utilisateur principal (généralement GID = 1000, membre du groupe Sudo) à l'invite.

    Press Enter for maintenance
    (or press Control-D to continue):
    
  5. Remonter tous les systèmes de fichiers en lecture et en écriture

    mount -o rw,remount /
    mount -o rw,remount /home
    
  6. Renommez l'utilisateur de old_user en new_user, renommez le commentaire sur le nom d'utilisateur (champ 5 dans /etc/passwd) et déplacez son domicile.

    OLDNAME="old_user"
    NEWNAME="new_user"
    usermod -l $NEWNAME $OLDNAME -c $NEWNAME -d /home/$NEWNAME  -m
    
  7. Renommez le groupe d'utilisateurs de old_user à new_user

    groupmod $OLDNAME -n $NEWNAME
    
  8. Remplacez ancien_utilisateur par nouveau_utilisateur dans /etc/subgid et /etc/subuid

    sed -i "s/$OLDNAME/$NEWNAME/g" /etc/subuid
    sed -i "s/$OLDNAME/$NEWNAME/g" /etc/subgid
    
  9. Redémarrez le système, puis connectez-vous avec new_user nom et ancien mot de passe. Changer éventuellement le mot de passe avec passwd

  10. Si tout va bien - supprimer les fichiers sauvegardés:

    Sudo rm ~/passwd.bak ~/group.bak ~/subuid.bak ~/subgid.bak \
    ~/gshadow.bak ~/shadow.bak
    

Remarque: vous trouverez des informations sur les options utilisées de usermod et groupmod dans leurs pages de manuel.

0
N0rbert