如何将一个用户名更改为另一个用户名?

如何将一个用户名更改为另一个用户名?

我遇到了一个问题,它“破坏”了我的用户,我们称之为olduser。我卡在了登录屏幕,我试过任何方法都无法修复它。

幸运的是我有备份,但我不需要它们,因为文件仍然在那里。

登录的唯一方法是通过新用户newuser。但我的所有别名和安装位置都在它上面olduser或指向它(别名)。我的ssh指向也是olduser

例如,我的其他分区在 上/media/olduser/,别名指向/home/olduser/Desktop/

所以,

我的问题是:我怎样才能重命名olduser为 foo 或其他什么,以便我可以重命名newuserolduser


如果您好奇,以下是我遇到的问题和我尝试过的一些解决方案:

Unity 无法加载,没有启动器,也没有出现 Dash

当似乎没有什么可以修复 Ubuntu 14.10 登录后卡住的问题时该怎么办?

Unity 无法加载,没有启动器,也没有出现 Dash

答案1

  1. 在恢复模式下启动到 root shell
  2. 使用以下方式以读写模式挂载文件系统:mount -o remount,rw /
  3. 删除您创建的新用户
  4. /etc/passwd在文件中更改您的用户名。
  5. 重启。

如果需要撤消更改,请重复步骤 1-2/etc/passwd

答案2

如果您已为 root 指定密码,则无需重启至恢复模式即可执行此操作。否则,您必须sudo passwd root在开始此过程之前为 root 指定密码(例如使用 )或重启。

  1. 按 Ctrl-Alt-F1 并以 root 身份登录。或重新启动到恢复模式并调出 root shell。

  2. 使用vipw和分别vipw -s更改/etc/passwd和中的用户名/etc/shadow。例如,将olduser两个文件中的更改为foouser,然后更改newuserolduser

    • 请记住更改用户的主目录字段。
  3. 对和文件执行相同vigr操作。vigr -s/etc/groups/etc/gshadow

  4. cd 到所有用户主目录所在的目录。这几乎肯定是/home

  5. mv olduser/ foouser

  6. mv newuser/ olduser
  7. 更改 中所有文件的所有权和组olduser/

    chown -R olduser olduser/

    chgrp -R olduser olduser/

  8. 更改所有文件的所有权和组foouser/

    chown -R foouser foouser/

    chgrp -R foouser foouser/

  9. 如果你必须重新启动到恢复模式,请再次重新启动,然后以 身份登录olduser。否则,只需按 Ctrl-Alt-F7(或与 GUI 登录屏幕相对应的任何 Fn 键)并以olduser

相关内容