我正在尝试更改 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
。