一、Linux用户基本概念

    1. 3A机制:基于多任务、多用户(Multi-tasks, Multi-Users)

使用者--->用户标识、密码; 

认证信息:通过比对事先存储的,与登录时提供的信息是否一致;

  Authentication: 认证机制,通过某种方案来确认用户是其声称的用户,如密码、生物识别等

  Authorization: 授权机制 资源使用级别(Linux只有管理员和普通用户两级分配机制,权限)

  Audition: 审计机制,监督权限的使用 log审计凭据---额外审计功能SELinuse

    2. 用户的分类

用户标识:UserID, UID

16bits二进制数字:0-65535

   Linux内核(2.6x)已经可以支持到4294967295(2^32-1)个标识符

管理员:0

普通用户:1-65635

系统用户:1-499(CentOS 6), 1-999(CentOS 7)

登录用户:500-60000(CentOS 6), 1000-60000(CentOS 7)

注意:CentOS 7(RHEL 7)开始用户系统用户的数量增大

    3.用户配置文件

        (1) 用户信息库,名称解析库:/etc/passwd

    [root@localhost ~]# man 5 passwd

     格式(七段):accountpasswordUIDGIDGECOSdirectoryshell

account: 用户名

password:可以是加密的密码,也可是占位符x;

UID:用户的ID号

GID:用户所属的主组的ID号;

GECOS:注释信息

directory:用户的家目录;

shell:用户的默认shell,登录时默认shell程序;

        (2) 密码存储位置:/etc/shadow

    [root@localhost ~]# man 5 shadow

     格式(九段):用户名:加密的密码最近一次修改密码的时间最短使用期限最长使用期限警告期段过期宽限时间:账号失效日期:保留字段

login name用户名

encrypted password:经过编码的密码

date of last password change最近一次修改密码的时间

minimum password age最短使用期限

maximum password age最长使用期限

password warning period警告期段

password inactivity period:过宽限时间

account expiration date:账号失效日期

reserved field保留字段

  加密密码格式:第二个$和第三个$之间是SALT,后面是加密后的密码

 

 

 

 

二、Linux组基本概念

    1. 用户组(用户容器)的分类

  组标识:GroupID, GID

  16bits二进制数字:0-65535

        (1)系统视角:管理员用户组&普通用户组

管理员组:0

普通用户组:1-65635

系统用户组:1-499(CentOS6), 1-999(CentOS7)

登录用户组:500-60000(CentOS6), 1000-60000(CentOS7)        

        (2)用户视角:基本组&附加组

用户的基本组:用户本身所属组

用户的附加组:用户额外所支持的组

        (3)公共组&私有组

公共组:组内包含了多个用户;

私有组:组名同用户名,且只包含一个用户;

    2.用户组配置文件

        (1)名称解析库:/etc/group

   [root@localhost ~]# man  5  group

   格式:group_name:password:GID:user_list

   group_name:用户组名;

   password:组密码;

   GID用户所属的主组的ID号

   user_list:该组的用户成员以此组为附加组的用户的用户列表;

        (2)密码库:/etc/gshadow

    [root@localhost ~]# man  5  gshadow

    格式:group name:encrypted password:administrators:members

   group name:组名称

   encrypted password:加密密码,以!开头表示无合法密码,所以无用户组管理员

   administrators:用户组管理员账号

   members:该用户组的所属账号

 

 

 

 

三、密码相关策略

    1. 加密算法

        (1)对称加密算法:加密和解密使用同一个密码;

        (2)非对称家吗算法:加密和解密使用的一对儿密钥

    密码对:公钥(pubic key)、私钥(private key),一个公钥对应一个私钥

        (3)单向加密:只能加密、不能解密,提取数据特征码

不可逆算法,常用语数据完整性校验,速度是非对称加密的1000

     定长输出:生成的加密密码长度是一定的

     雪崩效应(蝴蝶效应):任何passwdsallt微小改变,加密后结果发生巨大改变

【算法】

     md5: message digest消息摘要, 128bits(2^128种变化,16进制输出)

    sha:secure hash algorithm 安全的哈希算法, 160bits

扩展: sha224sha256sha384sha512

SALT添加的随机数:不同用户密码相同,随机数不同加密结果相差甚远

实例ONE.已知系统上gentooslackware两个空密码用户,添加相同密码,对比加密后密码

Linux用户和用户组基本概念_用户组

 [root@localhost ~]# tail -2  /etc/shadow

gentoo:!!:16777:0:99999:7:::

slackware:!!:16777:0:99999:7:::

[root@localhost ~]# passwd gentoo

Changing password for user gentoo.

New password:

BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]# passwd  slackware

Changing password for user slackware.

New password:

BAD PASSWORD: it is based on a dictionary word

BAD PASSWORD: is too simple

Retype new password:

passwd: all authentication tokens updated successfully.

[root@localhost ~]# tail - 2  /etc/shadow

gentoo:$6$Oz6XCp7o$400.nBpnW5d77saSaMX7tqDAp656S59HctB4rrQuLGd9SXZ.fn/jFT1vqHU11wcXkMW/MQm9DqiF2z6eeNxWk.:16779:0:99999:7:::

slackware:$6$rvEi4gcC$8jBgr/.bOFyDmFjyBZphYyjXBtR03Ekz6ZGw0zMlZkXcQK7HaUgD71zrgA9t7yMk.Yzyw5d8TIAPQlHEIrbLa0:16779:0:99999:7:::

[root@localhost ~]#

    2.密码使用策略

         (1) 使用随机密码;

         (2) 最短长度不要低于8位;

         (3) 应该使用大写字母、小写字母、数字和标点符号四类字符中至少三类;

         (4) 定期更换;