login.defs新建用户配置文件
login.defs文件简介
参考: https://www.linuxidc.com/Linux/2019-05/158732.htm
http://blog.itpub.net/7728585/viewspace-580325/
/etc/login.defs
文件是创建用户时
的一些规划
,比如创建新用户
时,是否需要HOME目录
,UID
和GID
的范围
;用户的期限
等等。
下面是 login.defs
文件中可能包含的一些常见配置
选项:
参数 | 解释 |
---|---|
PASS_MAX_DAYS | 指定用户密码的最大有效天数。 |
PASS_MIN_DAYS | 指定用户更改密码之间必须等待的最小天数。 |
PASS_WARN_AGE | 在密码过期之前提前多少天向用户发出警告。 |
UID_MIN | 指定系统分配给普通用户的最小用户ID。 |
UID_MAX | 指定系统分配给普通用户的最大用户ID。 |
GID_MIN | 指定系统分配给普通组的最小组ID。 |
GID_MAX | 指定系统分配给普通组的最大组ID。 |
LOGIN_RETRIES | 指定在登录失败后用户可以重试登录的次数。 |
LOGIN_TIMEOUT | 指定登录超时时间,即等待用户输入用户名和密码的时间限制。 |
CHFN_RESTRICT | 指定允许哪些用户更改自己的用户信息(如用户名、Shell等)。 |
ENV_PATH | 指定用于设置用户环境变量的默认环境文件路径。 |
useradd命令各发行版的差别
RHEL
系列执行useradd 用户名
时默认创建
邮件目录和home目录Ubuntu
执行useradd 用户名
时默认不创建
邮件目录和home目录SUSE
执行useradd 用户名
时默认不创建
home目录SUSE
和Ubuntu
执行useradd -d /home/用户名
,使用su - 用户名
切换用户后,依然不会到用户的home目录
这些选项的默认配置
由/etc/login.defs
文件控制
login.defs文件示例
# cat /etc/login.defs
# 请注意,此配置文件中的参数控制着来自shadow-utils组件的工具的行为。这些工具不使用PAM机制,而使用PAM的工具(如passwd命令)应在其他地方进行配置。请参考/etc/pam.d/system-auth获取更多信息。
# *REQUIRED*
# 邮箱所在的目录,或相对于主目录的文件名。如果两者都定义了,MAIL_DIR优先。
# QMAIL_DIR用于Qmail
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#MAIL_FILE .mail
# 密码过期控制:
# PASS_MAX_DAYS 密码可使用的最大天数。
PASS_MAX_DAYS 99999
# PASS_MIN_DAYS 密码更改之间允许的最小天数。
PASS_MIN_DAYS 0
# PASS_MIN_LEN 密码的最小长度。
PASS_MIN_LEN 5
# PASS_WARN_AGE 密码过期前的警告天数。
PASS_WARN_AGE 7
# useradd自动选择uid的最大/最小值
## UID的最小值
UID_MIN
## UID的最大值
UID_MAX 60000
# 系统账户UID的最大/最小值
## 系统账户UID的最小值
SYS_UID_MIN 201
## 系统账户UID的最大值
SYS_UID_MAX 999
# groupadd自动选择GID的最大/最小值
GID_MIN 1000
GID_MAX 60000
# 系统账户GID的最大/最小值
SYS_GID_MIN 201
SYS_GID_MAX 999
# 如果定义了,当删除用户时将运行此命令。
# 它应删除由要删除的用户拥有的任何at/cron/print作业等(作为第一个参数传递)。
# USERDEL_CMD /usr/sbin/userdel_local
# 如果useradd默认为用户创建HOME目录
CREATE_HOME yes
# 权限掩码的初始值。如果未指定,权限掩码将初始化为022。
UMASK 077
# 这使得userdel在删除用户时同时删除用户组
USERGROUPS_ENAB yes
# 使用SHA512加密密码
ENCRYPT_METHOD SHA512
配置创建用户时创建home目录
# 如果将CREATE_HOME设为yes,就会在创建用户时默认创建home目录
[rhel7 root ~]# grep -i create /etc/login.defs |grep -v "^#"
CREATE_HOME yes
# 修改CREATE_HOME参数为yes
sed -i 's/^CREATE_HOME.*/CREATE_HOME yes/' /etc/login.defs
配置创建新用户的密码策略
vim /etc/login.defs
## 修改默认密码策略为20天后过期
PASS_MAX_DAYS 20