尝试更改用户名时,终端会告诉我该进程当前正在使用该用户


16

我想改变我的用户名,按照建议在这里运行以下命令后,但是:

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

终端回应:

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

用户名保持不变。有人知道我该怎么解决并更改我的用户名吗?

Answers:


8

引用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.

因此,您需要确保您要重命名的用户未登录。

另外,我注意到您不是以root身份运行此程序。要么以root身份运行它,要么以“ sudo usermod”运行。


3
如果您不能在不重新启动进程的情况下终止该进程,请组合以下命令,例如kill -9 23162 && sudo usermod -l TheNameIWantToChange -d /home/TheNameIWantToChange -m CurrentName
Richard Frank

2
该程序usermod似乎被设计破坏了。如果用户管理是在LDAP服务器中完成的,则始终可以更改用户属性,而不依赖于运行的系统。我正在使用Ansible,usermod并且孔系统不可靠,因为更改已被登录的用户阻止
。– ceving

1

我认为您应该与其他用户一起运行命令。以root或其他用户身份登录,然后重试。如果您与要更改的用户一起在x窗口中,则听起来逻辑上命令失败。


1

这主要是Ubutu的问题,您没有root帐户可以从头开始登录。因此,这产生了一个矛盾:我是sudoer组的用户。我无法更改自己的uid。

不确定这是最佳解决方案。我首先创建一个假帐户foo,并将其添加到sudo列表中。然后,我登录到foo帐户并执行usermod -g MYOWNGID mylogin


0

我在使用usermod时遇到了同样的问题,使用-m参数修复了该问题,该问题将主目录的内容移至新的本地化。将此选项与-d结合使用(修改用户主目录,那里有user)。

我建议看man usermod命令


0

请尝试以下步骤:

  1. 设置root用户的密码:

须藤passwd根

  1. 重新启动ubuntu
  2. 启动后以“ root”身份登录->这将允许ubuntu不为当前用户生成任何进程。
  3. 变更使用者名称

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

  4. 通过使用/ home目录中的新用户名检查文件夹名称来验证用户名已更改

-1

您不应更改已登录用户的用户名。相反,您应该结束所有用户的进程,断开连接,以其他用户身份登录,然后重命名。

如果似乎工作量过多,则可以热线更改:https : //medium.com/@deltazero/linux-howto-rename-currently-operating-user-f8fae62db110

它是这样的:

# your new username
newuser=dave

# root-run these all at once
sudo su -c "\
  sed -i s/$USER/$newuser/g /etc/group \
  && sed -i s/$USER/$newuser/g /etc/shadow \
  && sed -i s/$USER/$newuser/g /etc/passwd \
  && mv /home/$USER/ /home/$newuser"

# exit & reconnect under new username
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.