前段时间,当我安装 Ubuntu 时,我为我的帐户选择了一个我不想再使用的相当愚蠢的用户名。
如何在不丢失应用程序设置的情况下更改它(包括我的主目录的名称和终端中的名称)?
我如何为各种身份验证(例如电子邮件、SSH、GPG 等)保留权限和我的密钥?
如果我更改了用户名,哪些设置可能会丢失?
前段时间,当我安装 Ubuntu 时,我为我的帐户选择了一个我不想再使用的相当愚蠢的用户名。
如何在不丢失应用程序设置的情况下更改它(包括我的主目录的名称和终端中的名称)?
我如何为各种身份验证(例如电子邮件、SSH、GPG 等)保留权限和我的密钥?
如果我更改了用户名,哪些设置可能会丢失?
类 Unix 操作系统将用户名与用户身份分离,因此您可以安全地更改名称而不影响 ID。所有权限、文件等都与您的身份 (uid) 相关联,而不是您的用户名。
要管理用户数据库的各个方面,您可以使用该
usermod
工具。要更改用户名和用户的组名(最好不要登录):
但是,这不会重命名主文件夹。
要更改主文件夹,请使用
更改用户名后。
例如,您可以注销,进入控制台 ( Ctrl++ Alt) F1,然后
sudo su -
成为真正的 root(与sudo -s
$HOME 仍然是 /home/yourname 不同)。也许您还必须从该用户处杀死一些仍在运行的进程第一的。为此,请输入ps -u username
,查找匹配的 PID 并按 杀死它们kill PID-number
。更新:如安排所述,某些文件可能会引用您的旧主目录。您可以保留符号链接以实现向后兼容性,例如,
ln -s /home/newname /home/oldname
或者您可以更改文件内容,sed -i.bak 's/*oldname*/*newname*/g' *list of files*
它会为每个扩展名为 .bak 的文件创建备份。对于像我这样没有经验的用户的一些附加信息:
由于我只有一个用户帐户(管理员),它不会让我更改用户名(“您已经登录”是 TTY1 中的响应(Ctrl+ Alt+ F1)。要获得围绕这个:
使用您的旧凭据登录并添加一个新用户,例如 TTY1 中的“临时”:
设置密码。2. 通过将用户添加到 sudo 组来允许临时用户运行 sudo:
使用命令注销
exit
。返回 tty1:使用“临时”用户帐户和密码登录。如上所述更改您的用户名和文件夹。
exit
(直到你得到登录提示)返回 TTY7 ( Ctrl++ Alt)F7登录 GUI/普通桌面屏幕,看看这是否有效。
删除临时用户和文件夹:
把它们放在一起:
退出会话或重新启动计算机以返回开始屏幕。
在开始屏幕转到控制台模式 tty。按Ctrl++ (在某些Ubuntu修订版中,这可能是Alt++ )F1CtrlAltF2
使用您的用户名和密码登录。
为“root”帐户设置密码。
登出。
使用“root”帐户和您之前设置的密码登录。
将用户名和主文件夹更改为您想要的新名称。
"newfullname" 是 /etc/passwd 中的第五列
将组名称更改为所需的新名称。
锁定“root”帐户。
如果您使用的是 ecryptfs(加密的主目录)。
ecryptfs-recover-private
使用和编辑挂载您的加密目录<mountpoint>/.ecryptfs/Private.mnt
以反映您的新主目录。登出。
按Ctrl+ Alt+F7返回 Ubuntu 图形模式登录屏幕(在某些 Ubuntu 修订版上,这可能是Ctrl+ Alt+ F1)。
现在您可以使用新用户名登录。
在恢复模式下重新启动并转到 root 提示 shell(“Drop to root shell prompt”)
首先重新挂载root
要更改用户名和主文件夹名称,
对于组名,
在 Ubuntu 13.10、14.04、16.04 上:
接收时
usermod: can't change /etc/password
只需运行以下命令:在根恢复控制台中运行:
然后重新运行:
当您这样做时,
usermod -l <newname> -d /home/<newname> -m <oldname>
您将收到useradd: can't change /etc/passwd
错误消息以避免这种情况,只需添加sudo --
到上面的命令中,例如和
@karthick87 在这里列出的答案非常好,但为了安全并避免所有故障,我会这样做:
由于并非所有的 linuces(无论如何Ubuntu都必须拥有它)都有该
usermod
应用程序,因此您可以手动执行此操作。从 root 打开/etc/passwd以使用vim
或系统中存在的任何其他编辑器进行编辑:并在行首更改用户名:
至:
然后,如果您使用 root 登录,并且您已经以用户身份登录,则注销并重新登录。
当然,您必须修复/etc/shadow,并且/etc/group也可以使系统正常工作。感谢@JohanBoulé
注意:您应该谨慎使用此方法,以免破坏系统。
注意:这种方法很常见,不仅适用于 Ubuntu,而且适用于 ubuntu,但谷歌搜索会显示非 ubuntu 搜索的事件,例如嵌入式 linux