AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题 / 34074
Accepted
Takkat
Takkat
Asked: 2011-04-09 00:25:09 +0800 CST2011-04-09 00:25:09 +0800 CST 2011-04-09 00:25:09 +0800 CST

如何更改我的用户名?

  • 772

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

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

permissions
  • 8 8 个回答
  • 1170686 Views

8 个回答

  • Voted
  1. Best Answer
    Egil
    2011-04-09T00:48:10+08:002011-04-09T00:48:10+08:00

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

    要管理用户数据库的各个方面,您可以使用该usermod工具。

    要更改用户名和用户的组名(最好不要登录):

    sudo usermod -l newUsername oldUsername
    sudo groupmod -n 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
    
    1. 使用命令注销exit。

    2. 返回 tty1:使用“临时”用户帐户和密码登录。如上所述更改您的用户名和文件夹。exit(直到你得到登录提示)

    3. 返回 TTY7 ( Ctrl++ Alt)F7登录 GUI/普通桌面屏幕,看看这是否有效。

    4. 删除临时用户和文件夹:

      sudo deluser temporary
      sudo rm -r /home/temporary
      
    • 474
  2. Valentin Uveges
    2013-07-07T01:43:24+08:002013-07-07T01:43:24+08:00

    把它们放在一起:

    1. 退出会话或重新启动计算机以返回开始屏幕。

    2. 在开始屏幕转到控制台模式 tty。按Ctrl++ (在某些Ubuntu修订版中,这可能是Alt++ )F1CtrlAltF2

    3. 使用您的用户名和密码登录。

    4. 为“root”帐户设置密码。

       sudo passwd root
      
    5. 登出。

       exit
      
    6. 使用“root”帐户和您之前设置的密码登录。

    7. 将用户名和主文件夹更改为您想要的新名称。

       usermod -l <newname> -d /home/<newname> -m <oldname>
       usermod -c "newfullname" <newname>
      

      "newfullname" 是 /etc/passwd 中的第五列

    8. 将组名称更改为所需的新名称。

       groupmod -n <newgroup> <oldgroup>
      
    9. 锁定“root”帐户。

       passwd -l root
      
    10. 如果您使用的是 ecryptfs(加密的主目录)。ecryptfs-recover-private使用和编辑挂载您的加密目录<mountpoint>/.ecryptfs/Private.mnt以反映您的新主目录。

    11. 登出。

      exit
      
    12. 按Ctrl+ Alt+F7返回 Ubuntu 图形模式登录屏幕(在某些 Ubuntu 修订版上,这可能是Ctrl+ Alt+ F1)。

    现在您可以使用新用户名登录。

    • 146
  3. karthick87
    2011-04-09T01:23:43+08:002011-04-09T01:23:43+08:00

    在恢复模式下重新启动并转到 root 提示 shell(“Drop to root shell prompt”)

    首先重新挂载root

    mount -o remount,rw /
    

    要更改用户名和主文件夹名称,

    usermod -l <newname> -d /home/<newname> -m <oldname>
    

    对于组名,

    groupmod -n <newgroup> <oldgroup>
    
    • 31
  4. Chicodoodoo
    2014-07-08T14:45:08+08:002014-07-08T14:45:08+08:00

    在 Ubuntu 13.10、14.04、16.04 上:

    1. 单击“系统设置”图标。
    2. 单击“用户帐户”。
    3. 应显示您的管理员帐户。
    4. 点击“解锁”按钮。
    5. 根据要求输入您的用户密码以允许更改您的帐户。
    6. 解锁后,您可以单击要更改的旧用户名并输入新用户名以替换它。
    7. 输入新名称后,单击“锁定”按钮使更改永久生效。
    8. 重启 Ubuntu。
    • 10
  5. user1511576
    2014-07-31T04:14:03+08:002014-07-31T04:14:03+08:00

    接收时usermod: can't change /etc/password只需运行以下命令:

    在根恢复控制台中运行:

    mount -o remount,rw /
    

    然后重新运行:

    usermod -l <newname> -d /home/<newname> -m <oldname>
    
    • 3
  6. Sriraj Hebbar
    2013-08-06T22:12:14+08:002013-08-06T22:12:14+08:00

    当您这样做时,usermod -l <newname> -d /home/<newname> -m <oldname>您将收到 useradd: can't change /etc/passwd错误消息以避免这种情况,只需添加sudo --到上面的命令中,例如

    sudo -- usermod -l <newname> -d /home/<newname> -m <oldname>
    

    和

    sudo --  groupmod -n <newgroup> <oldgroup>
    
    • 1
  7. sandeep srivastav vaddiparthy
    2019-05-11T23:37:27+08:002019-05-11T23:37:27+08:00

    @karthick87 在这里列出的答案非常好,但为了安全并避免所有故障,我会这样做:

    1. 创建一个单独的帐户/用户并确保此帐户/用户具有 root 权限或以任何具有 root 权限的用户身份登录。
    2. 使用当前帐户注销,然后使用步骤 1 中提到的帐户登录。
    3. 杀死前一个用户的所有进程。
    4. 现在按照@karthick87 提到的步骤更改用户名和主目录所有者。
    5. 然后按照@Sriraj Hebbar 的回答更改组名。
    6. 使用备用用户注销并使用您的用户登录。如果您创建了一个额外的用户,请将其删除。
    • 1
  8. Малъ Скрылевъ
    2014-12-17T05:15:42+08:002014-12-17T05:15:42+08:00

    由于并非所有的 linuces(无论如何Ubuntu都必须拥有它)都有该usermod应用程序,因此您可以手动执行此操作。从 root 打开/etc/passwd以使用vim或系统中存在的任何其他编辑器进行编辑:

    sudo vim /etc/passwd
    

    并在行首更改用户名:

    user:x:500:501:username:home/user:/bin/bash
    

    至:

    newuser:x:500:501:username:home/user:/bin/bash
    

    然后,如果您使用 root 登录,并且您已经以用户身份登录,则注销并重新登录。

    当然,您必须修复/etc/shadow,并且/etc/group也可以使系统正常工作。感谢@JohanBoulé

    注意:您应该谨慎使用此方法,以免破坏系统。

    注意:这种方法很常见,不仅适用于 Ubuntu,而且适用于 ubuntu,但谷歌搜索会显示非 ubuntu 搜索的事件,例如嵌入式 linux

    • -2

相关问题

  • 访问启用的虚拟主机时出现 403 禁止错误

  • WINE 用户配置

  • 无法更新雷鸟

  • Ubuntu 在什么许可证下?可以合法修改和分发吗?

  • 文件权限如何工作?文件权限用户和组

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    我需要什么命令来解压缩/提取 .tar.gz 文件?

    • 8 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Marko Smith

    如何使用命令行将用户添加为新的 sudoer?

    • 7 个回答
  • Marko Smith

    更改文件夹权限和所有权

    • 9 个回答
  • Martin Hope
    EmmyS 我需要什么命令来解压缩/提取 .tar.gz 文件? 2011-02-09 14:50:41 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve