我需要从 Linux 更改用户名(不是管理员)。
我在设置 -> 用户中进行了更改。但是如何在 Linux 中更改“主文件夹”名称或 root 用户。
我尝试使用
usermod -l <newname> -d /home/<newname> -m <oldname>
但这总是提到
username <oldname> is currently used by process <some id>
如果我终止该进程,会发生什么?
我以 root 身份登录su -
并尝试了相同的usermod
命令。
那么,如何在不终止进程的情况下更改名称?
任何线索都将不胜感激。我已在以下网址附上更改用户名的屏幕截图:设置 > 用户。
答案1
我使用的一般方法:
创建新用户
useradd {newuser} passwd {newuser}
将个人文件从旧用户转移到新用户
sudo cp -r /home/{olduser}/[A-Z]* /home/{newuser}/
chown
如果需要,可以将个人文件发送给新用户sudo chown -R {newuser}:{newuser} /home/{newuser}/[A-Z]*
确认新用户按预期工作后,以新用户身份登录并删除旧用户(确保旧用户没有任何活动进程)。
userdel {olduser}
不要复制/粘贴,请根据需要调整命令:)
答案2
我怀疑您是以您尝试修改的用户身份登录的。执行 su - 命令时,原始登录仍处于活动状态,这就是您看到错误的原因。如果您尝试终止该进程,您将终止正在使用的会话并断开连接!
您需要退出系统,然后以 root(或具有足够权限的其他用户)身份登录。这样您就可以执行更改。(注意:仅切换用户不起作用,因为其他用户仍处于活动状态)