我有一个名为hedgehog的用户,我希望他被命名为squirrel,但我不想更改其数字用户ID。
我该怎么做?

评论

可能是因为重命名用户并不是专业SA很难解决的任务。 (有关问题请投票)。

@Jeznet我很不赞成,因为这不仅是一个非常简单的任务,可以通过在google中键入标题来解决,而且您也可以在问到自己的问题后立即回答。似乎浪费时间。

@boburob“您也一问就回答了自己的问题。似乎很浪费时间”,请访问:blog.stackoverflow.com/2011/07/…

@boburob您是否看到显示“回答您自己的问题”的复选框,当您提出问题时,以问答形式分享您的知识?它在那里是有原因的,如果他们不希望使用它,就不会在那里。 (理想情况下,是针对更好的问题,但不管怎么说,对某人回答自己的问题的否决态度都是不好的形式。)

这是一个“简单”的任务,所有三个答案都不完整。桌面环境(Gnome / KDE / etc)可能对用户名有自己的想法。通常,它会带有一个向下同步的用户管理工具。但是像usermod这样的构建块无法同步。使用接受的答案将使您进入显示“ hedgehog”的登录屏幕,但以“ squirrel”身份登录。

#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


评论


您可以使用usermod来完成整个操作usermod -l new-user-name -m -d / new / home / dir old-user-name

–user9517
2012年10月11日15:20

另请注意,该组也不会更改。如果还需要重命名旧用户名组,请使用#groupmod -n新用户名old-user-name。

– alxs
14-10-22在18:41



对于使用autofs的系统,还应该更新/etc/auto.home。我刚遇到这个。

–史蒂文·霍维尔(Steven C. Howell)
16-10-4在14:50



可能必须再次运行visudo才能将新的用户名放入sudoers列表中

– Nagev
17年11月30日在10:17

您还需要重命名/ var / spool / cron / crontabs /中的crontab文件(如果已安装任何作业)

–丹尼尔F
18/12/16在20:38



#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)将旧用户主文件夹移至新用户,然后( 3)rsync

评论


在CentOS中,我还需要`passwd temp'和'usermod -aG wheel temp'。

– Brian Z
18年11月25日在16:01

#3 楼

通常,您可以通过更改/etc/passwd(和/etc/shadow,如果适用)文件中的用户名来重命名用户。在大多数unix系统上,vipw命令用于编辑这些文件(在许多系统上,包括一些安全措施以确保您不会将事情弄得太糟)。
请参阅passwd(5)shadow(5)vipw(8)的手册页有关更多信息。

请注意,上述方法不会重命名可能带有原始用户名的其他内容(主目录为主要示例,每用户个人组(在使用它们的系统上)为另一个)。您可能还希望通过更改passwd文件中的相应字段并重命名目录来清理它们,以保持一致性。


多个操作系统提供了特定于系统的重命名用户的方式。例如,许多Linux系统都包含usermod(8)命令,并且在AIX上,您可以使用SMIT(或终端中的smitty)更改帐户名。
如果您要求这些命令经常处理清理项,例如重命名主目录, 。