在 Ubuntu 或任何 Linux 中更改用户名的正确方法

在 Ubuntu 或任何 Linux 中更改用户名的正确方法

我正在使用 Ubuntu 12.04 并进行了一些定制。我也会把它做成一个新的iso,这是定制的ubuntu。

我想问的是如何更改我的用户名。我当前的主文件夹中有很多配置。所以我不想因为更改用户名而搞砸。

那么有没有最佳实践或工作流程可以做到这一点?

答案1

真的正确的方法?假设您要将用户“peter”更改为“paul”。

groupadd paul
usermod -d /home/paul -m -g paul -l paul peter

这会将名称、组、主目录以及该目录的所有权和组以及所有文件更改为新的。您最终会得到一个与最初创建为“paul”的用户无法区分的用户。

另一种方法是编辑/etc/passwd/etc/shadow文件中 Peter 条目的第一个字段。然后将 中每次出现的“peter”更改为“paul” /etc/group。然后将主目录从 重命名/home/peter/home/paul.然后chown -R paul /home/paul获取目录及其下的所有文件和目录的所有权和分组关系以获取新的文件和目录。

答案2

我建议不要尝试更改用户名。当用户名以用户主目录 . 的形式在配置文件中静态引用时,通常会出现问题/home/<username>。这些几乎从未以通用方式编写,因此通常最好只创建一个新用户名,然后将用户的文件和数据迁移到新帐户。

答案3

使用 usermod 来更改用户名主目录。将用户 peter 更改为 paul:

usermod -l paul peter
grep paul /etc/passwd /etc/shadow       # check

更改主目录并将所有内容移至那里(如有必要则创建)

usermod -m -d /home/paul paul
grep paul /etc/passwd               # check

改变团队名字,但不要使用 usermod,因为它要求您首先创建另一个组(例如 GID 1001),尽管它会更新 $HOME 目录中所有内容的 GID,但您必须在其他地方搜索并更改文件和目录与旧的集团所有权。相反,只需手动更改组名称即可。

nano /etc/group

并改变

peter:x:1000:

paul:x:1000:

您必须更改 cron、at 和 所使用的文件名其他服务使用用户名而不是 UID。使用

find /var -name "*peter*"

来找到这些文件。

您还必须更改配置文件由某些服务使用,例如邮件处理应用程序。

最后,脚本使用“/home/peter/”将需要进行编辑。将出现的“/home/peter/”更改为“$HOME”。

更改用户身份并不需要做很多工作,您只需要彻底完成即可。

答案4

您可以更改它;请参阅如何更改我的用户名?在 AskUbuntu 上。这些指示对我来说很有效。要保留您的配置,只需为您的旧主目录创建一个符号链接,如该问题的答案中所述。

相关内容