我如何更改自己的用户ID?

我如何更改自己的用户ID?

我的系统上只有一个用户。如何更改其默认的用户 ID(1000)?

如果为了避免破坏典型桌面安装中的登录过程而需要采取其他步骤,则应将这些步骤作为答案的一部分。

答案1

您可以在 中更改它/etc/passwd/etc/group或者/etc/shadow使用上面首选方法之一。但最重要的是,您必须更改属于该用户的所有文件的所有权。

例如,如果旧用户 ID 为 1000,新用户 ID 为 5000:

find / -uid 1000 -exec chown -h 5000 {} +

组 ID 也同样如此(如果您也更改它的话)。

find / -gid 1000 -exec chgrp -h 5000 {} +

答案2

基于@AlexandreP. 和@ddeimeke + 官方文档的完整解决方案。无需重启。

Debian/Ubuntu 的策略是,如果有一个用户jimID 为1001,那么就有一个jim组 ID 为 的组1001。此解决方案还会更新这些组 ID。

  1. 启用 root 帐户

    sudo passwd root
    
  2. 如果用户已登录,则注销(也在虚拟终端上)
  3. 转至 VT1:Ctrl-Alt-F1
  4. 以 root 身份登录并使用提供的用户名和旧/新 UID 运行此命令:

    # put the information we need in variables
    username=...
    old_uid=`id -u $username`  # looks up current (old) uid
    new_uid=...
    
    # update the user ID and group ID for $username
    usermod -u $new_uid $username
    groupmod -g $new_uid $username
    
    # update the file ownerships
    # NB: you cannot combine the next two chowns, or files where 
    # only the uid xor the gid matches won't be updated  
    chown -Rhc --from=$old_uid $new_uid /    # change the user IDs
    chown -Rhc --from=:$old_uid :$new_uid /  # change the group IDs
    
  5. 登出
  6. 登录身份$username
  7. 禁用 root 帐户

    sudo passwd -dl root
    

答案3

问题是,正如您所提到的,当用户登录会话时,您无法更改用户的 UID。您必须使用另一个用户帐户才能继续。

但是您不必创建新的用户帐户,将其提升为管理员,注销,登录到新的管理员帐户,更改您的主帐户的 UID,注销,登录到您的主帐户,然后删除新的管理员用户,只需更改您的 UID。;)

您可以启动到恢复模式(这是启动计算机时出现的选项,或者在 BIOS 消息完成后立即按住 Shift;ESC在运行 OEM-Ubuntu 的戴尔机器上使用)。这将使您登录到 root 会话。以 root 身份登录而不是您通常的用户帐户,您将可以修改您的UID。

因为恢复模式仅在命令行界面下有效,所以一旦登录到根会话,您将必须:

  1. 使用BubbaJ 关于以读写模式重新挂载根文件系统的说明mount -o remount,rw /

  2. 使用路易斯·阿尔瓦拉多的命令usermod -u NEW_UID your_username

  3. 跟随ddeimeke 的指示更新文件权限。
  4. 然后,重新启动计算机(reboot),这样您就可以以正常模式启动。

答案4

  • 系统>>管理>>用户和组

替代文本

  • 点击高级设置并转到先进的在底部的标签中您将看到您的用户 ID。
  • 更改它并单击确定。
    替代文本

相关内容