如何使 Ubuntu useradd 的行为像 Centos useradd 一样?

如何使 Ubuntu useradd 的行为像 Centos useradd 一样?

我不记得修改过 CentOS useradd 来获得这种行为。

useradd在 CentOS 中创建用户的主目录,其中包含所有常规文件(如.bashrc)。

我做了一些修改/etc/default/useradd,让它看起来像 CentOS(只需要取消一些注释),除了 UbuntuSHELL=/bin/shSHELL=/bin/bash

如何让 useradd 像在 CentOS 中一样运行?是否有一些现有选项可以更改?或者我应该只添加一个别名/etc/bash.bashrc

区别:在 Ubuntu 上,useradd 不会创建主目录。

以 root 身份:

$ useradd test
$ cd ~test
-su: cd: /home/test: No such file or directory

答案1

您需要添加以下行

CREATE_HOME yes

/etc/login.defs

来自 Ubuntu useradd 手册页

-m,--创建主页

...

默认情况下,如果未指定此选项且未启用 CREATE_HOME,则不会创建任何主目录。

尽管 CentOS 手册页更有帮助,因为它说

... 除非 /etc/login.defs 中的 CREATE_HOME 设置为 no,否则 useradd 将创建主目录。

答案2

在创建主目录时,useradd 实际上会复制目录 /etc/skel。因此,如果您希望将某些设置添加到新的主文件夹中,只需将文件添加到 /etc/skel 即可,下次添加用户时,这些文件将位于主目录中。

编辑

使用 useradd-m用户名这在 centos 和 ubuntu 上都有效。

相关内容