当前位置: 首页>>技术问答>>正文


如何更改自己的用户ID?

,

问题描述

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

如果为避免在典型的桌面安装中破坏登录过程而需要执行其他步骤,那么这些步骤应作为答案的一部分包含在内。

最佳解决方案

问题在于,就像您提到的那样,当您在会话中记录用户的UID时,您无法更改用户的UID。您必须使用其他用户帐户才能继续。

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

您可以启动进入recovery mode(这是启动计算机时出现的选项,或者在BIOS消息完成后立即保持班次;在运行OEM-Ubuntu的Dell计算机上使用ESC)。这将使您登录根会话。登录root而不是通常的用户帐户,您将能够修改您的UID。

由于恢复模式仅适用于命令行界面,因此一旦登录到根会话,您将不得不:

  1. 使用BubbaJ’s instructions to remount the root file system in read-write modemount -o remount,rw /

  2. 使用Luis Alvarado’s commandusermod -u NEW_UID your_username

  3. 按照ddeimeke’s instructions更新文件权限。

  4. 然后,重新启动计算机(reboot),以便以正常模式启动。

次佳解决方案

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

例如,如果旧用户标识为1000且新标识为5000:

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

对于组ID也是如此(如果你也改变它)。

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

第三种解决方案

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

Debian /Ubuntu策略是如果存在具有用户ID 1001的用户jim,则还存在具有组ID 1001的组jim。此解决方案还会更新这些组ID。

  1. Enable the root account

    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. Disable the root account

    sudo passwd -dl root
    

第四种方案

如果您转到控制台并键入:usermod --help,您将获得以下参数之一:

-u, – uid UID用户帐户的新UID

因此,如果您想更改用户cyrex的UID,请执行以下操作:

usermod -u 1000 cyrex

这会将cyrex的uid从之前的任何值改为1000

如果你想在视觉上做,那么这样做:

SYSTEM –> ADMINISTRATION –> USERS AND GROUPS

从列表中选择您自己,然后单击ADVANCED SETTINGS

UID位于该窗口的末尾。

第五种方案

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

user-management,ubuntu

  • 单击高级设置,然后转到底部的高级选项卡,您将看到您的用户ID。

  • 更改它,然后单击确定。

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/1806.html,未经允许,请勿转载。