两种更改 useradd 默认值的方法的区别

两种更改 useradd 默认值的方法的区别

我正在尝试更改 useradd 默认 shell,因此当下一个新用户创建时,其 shell 将是 /usr/sbin/tcsh。

其中一种方法是运行以下命令:

useradd -D -s /usr/sbin/tcsh

另一种方法是编辑 /etc/default/useradd:

SHELL=/usr/sbin/tcsh

我想知道这两个选项有什么区别?

提前致谢

答案1

没什么实际区别,配置方式有很多种,都是编辑文件SHELL中的变量/etc/default/useradd

使用以下命令检查手册页:

$ man useradd

然后寻找-s论点。

对于某些用户来说,其中一个可能比另一个更方便或更容易记住。由于您已经测试过两者,因此您可以自己决定哪个更容易记住或使用。

答案2

在里面手册页useradd该选项的正常行为是-s

-s, --shell SHELL 用户登录 shell 的名称。默认为保留此字段为空,这会导致系统选择 /etc/default/useradd 中的 SHELL 变量指定的默认登录 shell,或者默认为空字符串。

-s调用 此选项时,-D其行为如下:

-s,--shell 外壳

新用户的登录 shell 的名称。

此选项在 /etc/default/useradd 中设置 SHELL 变量。

因此两种方法都在文件中设置了 SHELL 变量/etc/default/useradd

相关内容