Linux总结(二十二):linux的用户组/etc/gshadow、初始组和附加组、/etc/login.defs

一、Linux /etc/gshadow文件

        /etc/passwd 文件存储用户基本信息,同时考虑到账户的安全性,将用户的密码信息存放另一个文件 /etc/shadow 中。本节要将的 /etc/gshadow 文件也是如此,组用户信息存储在 /etc/group 文件中,而将组用户的密码信息存储在 /etc/gshadow 文件中。

1、 vim Linux /etc/gshadow查看

          文件中,每行代表一个组用户的密码信息,各行信息用 ":" 作为分隔符分为 4 个字段,每个字段的含义如下:

          组名:加密密码:组管理员:组附加用户列表

2、字段解释

(1)组名

          同 /etc/group 文件中的组名相对应。

(2)组密码

          对于大多数用户来说,通常不设置组密码,因此该字段常为空,但有时为 "!",指的是该群组没有组密码,也不设有群组管理员。

(3)组管理员

          从系统管理员的角度来说,该文件最大的功能就是创建群组管理员。那么,什么是群组管理员呢?考虑到 Linux 系统中账号太多,而超级管理员 root 可能比较忙碌,因此当有用户想要加入某群组时,root 或许不能及时作出回应。这种情况下,如果有群组管理员,那么他就能将用户加入自己管理的群组中,也就免去麻烦 root 了。不过,由于目前有 sudo 之类的工具,因此群组管理员的这个功能已经很少使用了。

(3)组中的附加用户

        该字段显示这个用户组中有哪些附加用户,和 /etc/group 文件中附加组显示内容相同。

二、Linux初始组和附加组

       一个用户可以所属多个群组,并同时拥有这些群组的权限,这就引出了初始组(有时也称主组)和附组。/etc/passwd 文件中每个用户信息分为 7 个字段,其中第 4 字段(GID)指的就是每个用户所属的初始组,也就是说,当用户一登陆系统,立刻就会拥有这个群组的相关权限。

1、实例说明

           我们新建一个用户 lamp,并将其加入 users 群组中,执行命令如下:

 2、实例解释

        可以看到,在 etc/passwd 文件中,zxr2016 用户所属的 GID(群组 ID)为 1001,通过搜索 /etc/group 文件得知,对应此 GID 的是 zxr2016 群组,也就是说,群组是 zxr2016用户的初始组。
        zxr2016群组是添加 zxr2016用户时默认创建的群组,在 root 管理员使用 useradd 命令创建新用户时,若未明确指定该命令所属的初始组,useradd 命令会默认创建一个同用户名相同的群组,作为该用户的初始组。
        正因为 zxr2016群组是 zxr2016用户的初始组,该用户一登陆就会自动获取相应权限,因此不需要在 /etc/group 的第 4 个字段额外标注。但是,附加组就不一样了,从例子中可以看到,我们将 zxr2016用户加入 zxr群组中,由于 zxr这个群组并不是 zxr2016的初始组,因此必须要在 /etc/group 这个文件中找到 zxr那一行,将 zxr2016这个用户加入第 4 段中(群组包含的所有用户),这样 zxr2016用户才算是真正加入到 zxr这个群组中。
        在这个例子中,因为 zxr2016用户同时属于 zxr2016和zxr两个群组,所在,在读取\写入\运行文件时,只要是 zxr和 zxr2016群组拥有的功能,zxr2016用户都拥有。
         一个用户可以所属多个附加组,但只能有一个初始组。那么,如何知道某用户所属哪些群组呢?使用 groups 命令即可。例如,我们现在以 lamp 用户的身份登录系统,通过执行如下命令即可知晓当前用户所属的全部群组:

[root@localhost ~]# groups
lamp users

        通过以上输出信息可以得知,zxr2016用户同时属于 zxr2016群组和 zxr群组,而且,第一个出现的为用户的初始组,后面的都是附加组,所以 zxr2016用户的初始组为 zxr2016群组,附加组为 zxr群组。

三、/etc/login.defs

         /etc/login.defs 文件用于在创建用户时,对用户的一些基本属性做默认设置,例如指定用户 UID 和 GID 的范围,用户的过期时间,密码的最大长度,等等。需要注意的是,该文件的用户默认配置对 root 用户无效。并且,当此文件中的配置与 /etc/passwd 和 /etc/shadow 文件中的用户信息有冲突时,系统会以/etc/passwd 和 /etc/shadow 为准。读者可自行使用 vim /etc/login.defs 命令查看该文件中的内容,表 1 中对文件中的各个选项做出了具体的解释。

表 1 /etc/login.defs文件内容
设置项含义
MAIL_DIR /var/spool/mail 创建用户时,系统会在目录 /var/spool/mail 中创建一个用户邮箱,比如 lamp 用户的邮箱是 /var/spool/mail/lamp。
PASS_MAX_DAYS 99999密码有效期,99999 是自 1970 年 1 月 1 日起密码有效的天数,相当于 273 年,可理解为密码始终有效。
PASS_MIN_DAYS 0表示自上次修改密码以来,最少隔多少天后用户才能再次修改密码,默认值是 0。
PASS_MIN_LEN 5指定密码的最小长度,默认不小于 5 位,但是现在用户登录时验证已经被 PAM 模块取代,所以这个选项并不生效。
PASS_WARN_AGE 7指定在密码到期前多少天,系统就开始通过用户密码即将到期,默认为 7 天。
UID_MIN 500 指定最小 UID 为 500,也就是说,添加用户时,默认 UID 从 500 开始。注意,如果手工指定了一个用户的 UID 是 550,那么下一个创建的用户的 UID 就会从 551 开始,哪怕 500~549 之间的 UID 没有使用。
UID_MAX 60000指定用户最大的 UID 为 60000。
GID_MIN 500指定最小 GID 为 500,也就是在添加组时,组的 GID 从 500 开始。
GID_MAX 60000用户 GID 最大为 60000。
CREATE_HOME yes指定在创建用户时,是否同时创建用户主目录,yes 表示创建,no 则不创建,默认是 yes。
UMASK 077用户主目录的权限默认设置为 077。
USERGROUPS_ENAB yes指定删除用户的时候是否同时删除用户组,准备地说,这里指的是删除用户的初始组,此项的默认值为 yes。
ENCRYPT_METHOD SHA512指定用户密码采用的加密规则,默认采用 SHA512,这是新的密码加密模式,原先的 Linux 只能用 DES 或 MD5 加密。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值