我有一个名为的用户hedgehog
,我希望他被命名为squirrel
,但是我不想更改其数字用户ID。
我该怎么做?
Answer your own question – share your knowledge, Q&A-style
了吗?它在那里是有原因的,如果他们不希望使用它就不会在那里。(理想情况下,是针对更好的问题,但不管怎么说,对某人回答自己的问题的否决是一种不好的形式。)
我有一个名为的用户hedgehog
,我希望他被命名为squirrel
,但是我不想更改其数字用户ID。
我该怎么做?
Answer your own question – share your knowledge, Q&A-style
了吗?它在那里是有原因的,如果他们不希望使用它就不会在那里。(理想情况下,是针对更好的问题,但不管怎么说,对某人回答自己的问题的否决是一种不好的形式。)
Answers:
在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
old-user-name
组,请使用# groupmod -n new-user-name old-user-name
。
/var/spool/cron/crontabs/
(如果安装了任何作业)
注意:如果您的目录已加密,请不要尝试!如果是这种情况,您可能需要先检查一下: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
其保存。
通常,您可以通过更改/etc/passwd
(和/etc/shadow
,如果适用)文件中的用户名来重命名用户。在大多数UNIX系统上,该vipw
命令用于编辑这些文件(在许多系统上,包括一些安全措施以确保您不会将事情弄得太糟)。
请参阅手册页passwd(5)
,shadow(5)
以及vipw(8)
获取更多信息。
请注意,上述方法不会重命名可能带有原始用户名的其他内容(主目录是主要示例,每用户个人组(在使用它们的系统上)是另一个)。您可能还希望通过更改passwd文件中的相应字段并重命名目录来清理它们以保持一致性。
几种操作系统提供了一种特定于系统的重命名用户的方式。例如,许多Linux系统都包含该usermod(8)
命令,在AIX上,您可以使用SMIT(或smitty
在终端中)更改帐户名。
如果要求,这些命令通常会处理清理项,例如重命名主目录。