有关用户管理的文件内容及其解释

有关用户管理的文件内容及其解释(/etc/passwd,/etc/shadow,/etc/login.defs)

/etc/passwd 本地用户信息

默认情况下,/etc/passwd 存储有关本地用户的信息

/etc/passwd 采用以下格式:

passwd

1)username——-UID到名称的一种映射,用户名

2)password——-保存密码的位置,现在保存在/etc/shadow 中

3)UID—————-用户ID

4)GID—————-主组ID

5)GECOS———–字段存储任意文本,用户注释

6)/home/dir———用户的家目录

7)shell—————用户登入后使用的shell名称

passwd文件是普通的文本文件,可以手工修改文件中的用户信息(usermod),或者最后添加新行以增加新的用户(useradd)。

如果同时2个人修改文件passwd的话,有毁坏文件的危险。建议采用vipw命令,它可以将passwd文件锁住,以防止其他人同时使用。

/etc/shadow 用户密码

用户密码存储在/etc/shadow,格式为(以“:”为分割符):

shadow

1)用户名

2)加密的密码

3)上次更改密码的日期(从1970-1-1开始)

4)最短密码期限(按天计算,0 = 无最短期限)

5)最长密码期限(按天计算)

6)密码警告期限(按天计算,0 = 未指定警告)

7)密码非活动期限(按天计算)

8)账号到期时间(从1970-1-1开始)

9)保留域

【注】:/etc/shadow 由 pwconv命令根据/etc/passwd中的数据自动产生。

  • 改使用者的密码 — passwd

参数

1
2
3
4
5
6
-l 关闭账号密码。效果相当于usermod -L,只有root才有权使用此项。(lock)
  -u 恢复账号密码。效果相当于usermod -U,同样只有root才有权使用。(unlock)
  -g 修改组密码。gpasswd的等效命令。
  -f 更改由finger命令访问的用户信息。
  -d 关闭使用者的密码认证功能, 使用者在登入时将可以不用输入密码, 只有具备 root 权限的使用者方可使用。
  -S 显示指定使用者的密码信息, 只有具备 root 权限的使用者方可使用。

  • 更改密码时效 — chage

参数

1
2
3
4
5
6
7
-m 密码可更改的最小天数。为零时代表任何时候都可以更改密码。
  -M 密码保持有效的最大天数。
  -W 用户密码到期前,提前收到警告信息的天数。
  -E 帐号到期的日期。过了这天,此帐号将不可用。
  -d 上一次更改的日期。
  -I(大写的i) 停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
  -l 列出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

eg.

关于账号时间图示:

/etc/login.defs 设置用户账号限制

/etc/login.defs 文件内容及其解释

/etc/login.defs 是设置用户帐号限制的文件。该文件里的配置对root用户无效。

如果/etc/shadow文件里有相同的选项,则以/etc/shadow里的设置为准,也就是说/etc/shadow的配置优先级高于/etc/login.defs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
# *REQUIRED* required
# Directory where mailboxes reside, _or_ name of file, relative to the
# home directory. If you _do_ define both, MAIL_DIR takes precedence.
# QMAIL_DIR is for Qmail
#
#QMAIL_DIR Maildir
MAIL_DIR /var/spool/mail
#创建用户时,要在目录/var/spool/mail中创建一个用户mail文件
#MAIL_FILE .mail

# Password aging controls:
#
# PASS_MAX_DAYS Maximum number of days a password may be used.
# PASS_MIN_DAYS Minimum number of days allowed between password changes.
# PASS_MIN_LEN Minimum acceptable password length.
# PASS_WARN_AGE Number of days warning given before a password expires.
#
PASS_MAX_DAYS 99999
#密码最大有效期
PASS_MIN_DAYS 0
#两次修改密码的最小间隔时间
PASS_MIN_LEN 5
#密码最小长度,对于root无效
PASS_WARN_AGE 7
#密码过期前多少天开始提示
#
# Min/max values for automatic uid selection in useradd
#创建用户时不指定UID的话自动UID的范围
UID_MIN 500
#用户ID的最小值
UID_MAX 60000
#用户ID的最大值
#
# Min/max values for automatic gid selection in groupadd
#自动组ID的范围
GID_MIN 500
#组ID的最小值
GID_MAX 60000
#组ID的最大值

#
# If defined, this command is run when removing a user.
# It should remove any at/cron/print jobs etc. owned by
# the user to be removed (passed as the first argument).
#
#USERDEL_CMD /usr/sbin/userdel_local
#当删除用户的时候执行的脚本

#
# If useradd should create home directories for users by default
# On RH systems, we do. This option is overridden with the -m flag on
# useradd command line.
#
CREATE_HOME yes
#使用useradd的时候是够创建用户目录

# The permission mask is initialized to this value. If not specified,
# the permission mask will be initialized to 022.
UMASK 077

# This enables userdel to remove user groups if no members exist.
#
USERGROUPS_ENAB yes
#用MD5加密密码