如何更改管理员用户名?

我在创建管理员帐户时不小心输入了我的姓名。 虽然我设法在登录屏幕上更改用户名,但我无法将/home/oldusername重命名为/home/newusername 。 我尝试了大多数在线教程,但失败了。

我试过的代码是这样的:

 usermod -l newusername -m -d /home/newusername oldusername 

但输出是:

 cannot lock /etc/passwd; try again later. 

如何解决问题并将文件夹更改为newusername并期望所有应用程序像以前一样工作?

使用您的currentusername登录,打开终端并输入:

 sudo passwd root 

输入root帐户的密码,然后注销,按Ctrl + Alt + F1打开文本控制台,以root身份登录(用户名:root,密码:“您在上面输入的那个”)并运行:

 usermod -l newusername -m -d /home/newusername currentusername exit 

Ctrl + Alt + F7返回图形控制台并以newusername身份登录。

要更改用户的显示名称(登录屏幕上显示的名称),请转到系统设置 – > 用户帐户,然后单击对话框右侧的显示名称。

在此处输入图像描述

您可以做的第一个简单的解决方案是使用您想要的正确用户名创建一个新用户并将其添加到管理员组: / etc / sudoers

换句话说,你可以使用旧的用户名(我在fedora上测试它):

 # usermod -l new-username old-unername 

我会创建一个新帐户,并复制所有文件。 这可能是最愚蠢的方法。

您需要从恢复模式执行此操作。

重新启动,选择恢复模式,然后切换到根控制台并在那里键入命令。 然后正常重启。

更改用户名将导致不可避免的问题。 许多程序将尝试从旧目录中读取和写入不再存在的数据。 创建一个新帐户并复制所有旧文件夹似乎是一个好主意。 我相信还有其他问题。

但这回答了以前的评论对我没有帮助的问题。

只需以root身份重新登录就可能无法正常工作,因为我的旧用户名具有活动进程。 所以我确实喜欢其他人已经说过并重新启动进入恢复模式。 但后来我得到了原始海报提到的错误信息。 这里发现这是因为驱动器只在恢复模式下读取,因此您必须使其成为读写。

摘要修复:

 sudo passwd root # assign a password reboot # into recovery mode and log in as root 

如果您的grub菜单未设置为显示,则在启动期间保持移位。 以root身份登录并转到shell。

 mount -o remount,rw / # make the disk writable usermod -l  -d /home/ -m  passwd -l root # deactivate the root password reboot 

您的旧用户名将是登录名,但它仍然允许您进入。要更正它,请使用以下命令编辑文件,并在同一行中查找包含新旧用户名的行,并将旧的用户名更改为新的那一个:

 sudo nano /etc/passwd 

正如其他人在其他地方所说的那样,在更改用户名时会遇到问题,因为许多程序会尝试在旧用户名的文件夹中查找或存储应用程序数据,而不再存在。