useradd 默认参数修改

简介

对于useradd,平时的使用方法大概都是直接useradd username,最常用的也就加个-d-u参数。但是如果能修改配置让useradd默认指定某些参数,对于新建用户的管理肯定方便很多,下面就来说说如何修改useradd的默认参数。

useradd -D

官方默认的解释为print or change default useradd configuration,直接执行可以看到:

1
2
3
4
5
6
7
8
9
[hzz@huangzz6 ~]# sudo useradd -D
GROUP=100 # 所属组id
HOME=/home # 家目录位置
INACTIVE=-1 # 非活跃时间(即密码过期后还可以使用多久)
EXPIRE= # 密码过期时间
SHELL=/bin/bash # 默认shell
SKEL=/etc/skel # 指定默认skel文件夹的路径(用户home目录下默认初始文件存放路径,.bashrc、bash_profile等)
CREATE_MAIL_SPOOL=yes # 是否创建邮件用户
[root@huangzz6 ~]#

这些默认参数,保存在/etc/default/useradd文件中,可以使用-D参数修改,也可以直接修改文件。

使用-D参数修改默认参数,跟直接制定默认参数的方式是一样的,唯一不同的是前面加上了-D

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 使用-D参数修改用户默认shell
# 将默认shell更改为/bin/sh

[hzz@huangzz6 ~]$ sudo useradd -D -s /bin/sh
[hzz@huangzz6 ~]$ sudo useradd -D
GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh # 默认shell已改变
SKEL=/etc/skel
CREATE_MAIL_SPOOL=yes
[hzz@huangzz6 ~]$ sudo useradd hzztest
[hzz@huangzz6 ~]$ tail -1 /etc/passwd
hzztest:x:1001:1001::/home/hzztest:/bin/sh # 默认shell变为/bin/sh
[hzz@huangzz6 ~]$

/etc/login.defs

useradd -D虽然可以改变默认用户配置,但是可配置内容偏少,要想更改更多的用户默认设置,可对/etc/login.defs进行备份后修改。