Linux100个入门实验-09 用户的2个配置文件
LAB100-09 剖析用户的两个配置文件
目录
- 第1部分 用户相关基本概念
- 第2部分 剖析用户属性信息文件/etc/passwd
- 第3部分 剖析用户密码信息文件/etc/shadow
第1部分 用户相关基本概念
在Linux中区分不同的人,就是用不同的账户
1 、介绍安全3A
-
认证:验明身份
- 判断用户名、密码
- 指纹验证、面部识别(手机上使用)
-
授权:
- 不同的人,授予不同的权限
-
审计:事后审计、监控等
- 监控
- 日志记录等
2、用户User
1)基本概念
在Linux中,用户的身份是以uid来区分的(具体是谁,只看uid,不看用户名。)
- identity:身份标识,系统中对用户身份和口进行验证,确定身份
- token(令牌):用户的identity通过验证,登录成功后,会拿到系统颁发的token令牌,然
后才可访问相应的资源。
- uid:在Linux中,系统判断一个用户的身份是普通用户还是管理员,依据是每个用户的uid
不同的用户,每个用户的uid都是唯一的。(当然也可以刻意配置成一样的)
- uid是0:管理员的用户uid是0
- uid是1-65535:普通用户
示例:
id UserName (管理员root的uid是0)
id UserName 可以看到普通用户su的uid是1000(从1000开始的)
2)用户分类
- 管理员:0
-
普通用户:1-65535
- 系统用户 :服务进程用,1-499, 1-999
- 登录用户 :登录用户用,交互式登录500 +,1000
- 用户需要重新log in才能获取到新令牌touken
3、组 (和windows一样可以方便管理)
- 在Linux中,组的产生和Windows是一样的,也是为了方便管理。
- GID:同用户有uid一样,组也有一个唯一的ID编号叫GID
- 管理员组和普通组:同用户一样,组也分成管理员组和普通组
- 管理员组:即root组,组ID叫GID是0(同用户的uid=0)
- 普通组:
-
系统组:编号1-499,1-199(CentOS 7)
- 普通组:500+,1000+ (CentOS 7)
- 在Linux中,有个组也叫root。用户名和组名允许同名
- 私有组:在Linux中,当创建一个账户su,系统默认也会创建一个组也叫su,并且自动把su账号加到同名的组su中。即每建一个账号,就会建一个同名的组,这种组成为私有组。默认建100个账号,就有100个私有组
4、安全上下文
进程所能够访问资源的权限取决于进程的运行者的身份:
怎么理解这句话呢?
举个例子:用户在运行某个程序的时候,这个程序需要访问某些文件时,它是以发起程序的用户身份访问的,比如su用户要运行/bin/cat程序,进而要访问/etc/issue文件,如果/etc/issue本身对用户su设置了no read权限,则进程将运行失败。
5 组的分类
- 主要组 Primary group
用户必须属于一个且只有一个主组如果组名同用户名相同,且仅包含一个用户,称为私有组一个用户被加到多个组,且多个组的权限不一样,用户最终拥有的权限为所有组的累加权限
- 附加组 supplementary group
除用户主组之外的组,叫附加组一个用户可以属于零个或多个附加组
练习:
如何查看一个用户属于某个组呢?
id 或 id UserName
第2部分 剖析用户属性信息文件-/etc/passwd文件
6 用户和组的4个重要的配置文件
- /etc/passwd :用户及其属性信心(名称、uid、主组id等)
- /etc/shadow :用户密码及其相关属性
- /etc/group: 组及其相关属性
- /etc/gshadow:组密码及其先关属性
剖析etc/passwd文件内容
cat /etc/passwd
- 用户名
- 密码
- uid
- 主组id - GID
- GECOS:描述信息字段
- 用户家目录
- 用户shell类型
======================================================================
练习:
以上信息如何获得,可按照以下步骤详细研究/etc/passwd这个文件,
步骤1: 先确定文件类型,很显然它是个文本文件(ASCII text)
步骤2 查看/etc/passwd文本文件
步骤3 看不懂?使用man帮助
使用man帮助获取/etc/passwd详细信息
由于系统中还有一个设置密码的同名命令passwd,因此先要找出我们想要的/etc/passwd文件,先查看/etc/passwd在第几章(图中为5)
步骤4 man 5 passwd
步骤6 解读/etc/passwd的帮助
- 格式:被冒号分割成7个部分
- account:password:uid:GID:GECOS:diretory:shell
7项的说明
步骤8 对照帮助说明解读7个部分的含义
- 用户名
- 密码
- uid
- 主组id:GID
- GECOS:描述信息
- 用户家目录
- 用户shell类型
==========================================================================
第3部分 剖析用户密码信息文件-/etc/shadow文件
/etc/shadow文件保存里用户密码及其相关属性,我们来对它进行下简单研究:
2)/etc/shadow文件
- 用户名
-
口令
- $6表示SHA加密算法
- 之后的$***$:salt
- 之后的****:被加密的口令
- 上次修改密码的时间:从1970年1月算起天数,此值为0则下次登录必须更改口令
-
最小密码修改时间:下次修改密码要求的最少间隔天数
- 要求的间隔时间不到不能改密码
- 为0则随时可以改
-
最大密码修改时间:
- 下次修改密码可间隔的最长天数(99999表示永不过期)
-
密码警告时间
- 密码将要到期的提前警告的天数,在此设定的天数期间警告用户。
- 空字段和值0表示没有密码警告期。
-
密码到期后的宽限时间:
- 宽限期内仍然可以用
- 宽限期已过账号锁定
-
账户到期时间:
- 账户有效期
- 保留字段
=======================================================================