Linux命令useradd添加用户的默认值说明

时间:2022-01-06 16:46:34

Linux添加用户的命令useradd会使用选项指定的值在加上默认文件/etc/default/useradd设置的值初始化新增的用户。

这里将对useradd的默认值做下说明。

查看默认值

[root@xxx home]# useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/bash
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes

GROUP

主用户组,默认为100。创建用户时不会马上使用主用户组作为用户的组。它需要满足两个条件才会用到此默认值。

  1. 添加用户时没有指定用户所属的组,即没有使用-g/--gid或-G, --groups选项
  2. 文件/etc/login.defs的USERGROUPS_ENAB设置为no,或者使用了-N/--no-user-group禁止创建以用户名为组名的用户组。

添加用户到GROUP设定的主用户组命令类似:

sudo useradd -N primary_group_username

查看组信息

cat /etc/group

其他值

HOME:创建用户目录的根目录。
INACTIVE:密码过期后,开始永久禁用账号的天数。0表示马上禁用账号,-1表示不使用此功能,即不会永久禁用账号。
EXPIRE:禁用账号的日期,格式YYYY-MM-DD
SHELL:用户登录的shell脚本
SKEL

这些默认值存放在默认值文件/etc/default/useradd里,所有也可以使用cat查看useradd的默认值。

设置默认值

使用useradd -D 再加上所要修改的默认值选项即可修改useradd的默认值。

-g/--gid GROUP:设置主用户组GROUP的默认值。

sudo useradd -D -gid 100

-b/--base-dir BASE_DIR:设置HOME的默认值。用户主目录由base目录加上用户名组成。

sudo useradd -D -b myhome

-f/--inactive INACTIVE:设置INACTIVE的默认值。

sudo useradd -D -f 0

-e/--expiredate EXPIRE_DATE:设置EXPIRE默认值。

sudo useradd -D -e 2017-10-27

-s/--shell SHELL:设置SHELL默认值。

sudo useradd -D -s /bin/sh