我不记得修改过 CentOS useradd 来获得这种行为。
useradd
在 CentOS 中创建用户的主目录,其中包含所有常规文件(如.bashrc
)。
我做了一些修改/etc/default/useradd
,让它看起来像 CentOS(只需要取消一些注释),除了 UbuntuSHELL=/bin/sh
有SHELL=/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 上都有效。