web-dev-qa-db-fra.com

Lorsque vous essayez de changer le nom d'utilisateur, le terminal me dit que l'utilisateur est actuellement utilisé par le processus

J'essaie de changer mon nom d'utilisateur, selon les conseils ici cependant après avoir exécuté la commande suivante:

CurrentName@HostName ~ $ Sudo usermod -l TheNameIWantToChange -d /home/TheNameIWantToChange -m CurrentName

Le terminal répond avec:

CurrentName@HostName ~ $ usermod: user CurrentName is currently used by process 2491

Et le nom d'utilisateur reste le même. Est-ce que quelqu'un sait comment je pourrais résoudre ce problème et changer mon nom d'utilisateur après tout?

17
Paradox

Citer man usermod:

CAVEATS
   You must make certain that the named user is not executing any 
   processes when this command is being executed
   if the user's numerical user ID, the user's name, or the user's home 
   directory is being changed.  usermod
   checks this on Linux, but only check if the user is logged in 
   according to utmp on other architectures.

Vous devez donc vous assurer que l'utilisateur que vous renommez n'est pas connecté.

De plus, je note que vous ne l'exécutez pas en tant que root. Exécutez-le en tant que root ou exécutez-le avec "Sudo usermod".

9
seumasmac

C'est principalement un problème avec Ubutu où vous n'avez pas de compte root pour vous connecter dès le départ. Cela crée donc une contradiction: je suis un utilisateur du groupe sudoer. Je ne peux pas changer mon propre UID.

Pas sûr que ce soit la meilleure solution. Je crée d'abord un faux compte foo, l'ajoute à la liste Sudo. Ensuite, je me connecte au compte foo et exécute usermod -g MYOWNGID mylogin

1
Kemin Zhou

Je pense que vous devez exécuter la commande avec un autre utilisateur. Connectez-vous avec root ou un autre utilisateur, puis réessayez. Si vous êtes dans la fenêtre x avec l'utilisateur que vous souhaitez modifier, cela semble logique que les commandes échouent.

1
krivos

Essayez ces étapes:

  1. Définissez le mot de passe de l'utilisateur root:

racine de Sudo passwd

  1. redémarrer Ubuntu
  2. Connectez-vous en tant que "root" après le démarrage -> Cela permettra à ubuntu de ne générer aucun processus pour l'utilisateur actuel.
  3. Modifiez le nom d'utilisateur

    sermod -l newuser -d/home/newuser -m olduser

  4. Vérifiez que le nom d'utilisateur a changé en vérifiant le nom du dossier avec le nouveau nom d'utilisateur dans le répertoire/home
0
Rajib Hasan

J'ai le même problème en utilisant usermod, il a été corrigé en utilisant le paramètre -m, qui déplace le contenu du répertoire personnel vers une nouvelle localisation. Utilisez cette option en combinaison avec -d (modifiez le répertoire principal de l'utilisateur, où se trouve l'utilisateur).

Je suggère de voir la commande man usermod

0