如何更改用户名?

Modified on: Sat, 09 Jun 2018 01:51:53 +0800

前段时间我安装Ubuntu后,我为我的帐户选择了一个相当愚蠢的用户名,我不想再使用了。

如何在不丢失应用程序设置的情况下更改此设置(包括我的主目录的名称和终端中的名称)?
如何保留各种身份验证的权限和密钥(例如电子邮件,SSH,GPG等)?
如果我更改了用户名,可能会丢失哪些设置?

作者:Mateo,Takkat

最佳答案

类Unix操作系统将用户名与用户身份分离,因此您可以安全地更改名称而不会影响ID。所有权限,文件等都与您的身份(uid)相关联,而不是您的用户名。

要管理用户数据库的各个方面,请使用usermod工具。

更改用户名(最好在不登录的情况下执行此操作):

sudo usermod -l newUsername oldUsername

但是,这不会重命名主文件夹。

要更改主文件夹,请使用

sudo usermod -d /home/newHomeDir -m newUsername

更改用户名后。

例如,你可以注销,掉到控制台( 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 )。解决这个问题:

  1. 使用您的旧凭据登录并添加新用户,例如TTY1中的“临时”:

    sudo adduser temporary
    

    设置密码。

  2. 允许临时用户通过将用户添加到sudo组来运行sudo:

    sudo adduser temporary sudo
    
  3. 使用exit命令注销。
  4. 返回tty1:使用“临时”用户帐户和密码登录。如上所述更改您的用户名和文件夹。 exit(直到你得到登录提示)
  5. 返回TTY7( Ctrl + Alt + F7 )登录GUI /普通桌面屏幕,查看是否有效。
  6. 删除临时用户和文件夹:

    sudo deluser temporary
    sudo rm -r /home/temporary
    
  7. 醇>
作者:muru,Egil

相关问答

添加新评论