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。创建用户时不会马上使用主用户组作为用户的组。它需要满足两个条件才会用到此默认值。
- 添加用户时没有指定用户所属的组,即没有使用-g/--gid或-G, --groups选项
- 文件/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