我有一个名为的用户hedgehog
,我想让他被命名squirrel
,但我不想更改他的数字用户ID。
我怎样才能做到这一点?
答案1
在 Linux 下,该usermod
命令会更改用户名。它会修改系统帐户文件以反映命令行上指定的更改。
仅更改用户名:
usermod --login new_username old_username
要更改用户名和主目录名称:
usermod --login new_username --move-home --home path_to_the_new_home_dir old_username
您可能还想更改与用户关联的组的名称:
groupmod --new-name new_username old_username
答案2
笔记:如果您的目录已加密,请不要尝试此操作!如果是这种情况,您可能需要先检查:https://askubuntu.com/questions/107410/can-you-unencrypt-remove-encryption-from-a-user-home-folder
最直接的方法是:
创建具有 sudo 权限的新临时帐户:
sudo adduser temp sudo adduser temp sudo
退出当前帐户并使用临时帐户重新登录。
重命名您的用户名和目录:
sudo usermod -l new-username -m -d /home/new-username old-username
重命名您的用户名默认的组:
sudo groupmod -n new-username old-username
从临时帐户注销并使用新用户名重新登录您的帐户。
删除临时帐户:
sudo userdel -r temp
否则,您只需 (1) 创建一个新用户,然后 (2) 将rsync
旧用户主文件夹复制到新用户主文件夹,然后 (3)chown
即可。
答案3
/etc/passwd
通常,您可以通过在(和/etc/shadow
,如果适用)文件中更改用户名来重命名用户。在大多数 unix 系统上,该vipw
命令用于编辑这些文件(并且在许多系统上包含一些保护措施,以确保您不会把事情搞得太糟)。
请参阅手册页passwd(5)
,shadow(5)
, 和vipw(8)
了解更多信息。
请注意,上述方法不会重命名可能带有原始用户名的其他内容(主目录是主要示例,每个用户的个人组(在使用它们的系统上)是另一个示例)。您可能希望通过更改 passwd 文件中的相应字段并重命名目录来清理这些内容,以保持一致性。
一些操作系统提供了系统特定的重命名用户的方法。例如,许多 Linux 系统包括usermod(8)
命令,在 AIX 上,您可以使用以下方式更改帐户名称SMIT(或smitty
在终端中)。
如果您要求的话,这些命令通常会处理诸如重命名主目录之类的清理项目。