Linux用户与组相关的文件

参考Linux学习顺序指导目录:https://www.cnblogs.com/lv1572407/p/11815911.html

  用户是我们管理操作系统的接口,所以整体而言是相当重要的。所以我们用这一章来讲述用户管理知识。

第一部分我们只讲述一些基本常识以及用户创建删除、组创建删除相关的文件。

1. 超级用户
首先我们要明白什么是超级用户,超级用户意味着什么。
(1) 任何UID为0的用户均视为超级用户,具备超级用户的全部权利。
(2) 超级用户可以覆盖重写文件系统中任意文件。
(3) 超级用户可以进行软件管理。
(4) 超级用户可以操作绝大部分系统设备。
. . . . . .

2. 用户与组
其次需要了解什么是用户和组,用户和组是什么关系。
用户的作用:
(1) 每个进程需要通过用户来执行
(2) 每个文件需要用户作为其所有者
(3) 通过文件设置文件的访问权限
(4) 进程关联用户将决定其对文件的访问权限
组的作用:
(1) 便于权限管理的一种方式
(2) 每个用户有且仅有一个主组,但可以存在多个附属组

3. 用户与组相关文件
用户与组相关的重要文件有passwd、shadow及group。
其实还存在一个名称为gshadow,这个文件我们知道其的存在就行了,不需要特殊学习。

3.1 passwd文件
首先我们来接触一下passwd文件,主要是用于存储账户信息的。
[root@mysql1 ~]# head -n 1 /etc/passwd
root:x:0:0:root:/root:/bin/bash
[root@mysql1 ~]# man 5 passwd
用户名:密码占位符:UID:GID:用户描述:家目录:登录执行的shell
那么Linux操作系统常见的shell都有哪些中类呢?
[root@mysql1 ~]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologin
/bin/dash
/bin/tcsh
/bin/csh

3.2 shadow文件
shadow文件使用与存储密码信息、用户相关策略信息。
[root@mysql1 ~]# head -n 1 /etc/shadow
root:$6$Bjy294zPcq/Zh.8h$VQwI51mi6OM3./GPJ1tTuZigggWruXb0uOxY7YnKML3MnbfogIgfRrAouPgN/QjkRmia.rpphVICROpw7qeL60:17972:0:99999:7:::
[root@mysql1 ~]# man 5 shadow
用户名:可见用户名,系统登录接口。
加密密码:加密方式为$id$salt$encrypted。其中salt是随机产生的。
密码最新修改时间:重点掌握
密码最小修改时间:了解
密码最大修改时间:重点掌握
密码过期警告时间:重点掌握
密码过期可用时间:一般情况下,密码出现过期警告应立即修改密码。
用户过期时间:重点掌握
预留字段:密码信息备用字段
我们如何才能知道用户的这些信息呢?
一种是通过查看shadow文件,另一种方式则是使用"chage -l username",查看相关密码策略信息。
[root@mysql1 ~]# chage -l root
Last password change : Jun 13, 2019
Password expires : never
Password inactive : never
Account expires : never
Minimum number of days between password change : 0
Maximum number of days between password change : 99999
Number of days of warning before password expires : 7

在上面的内容中我们提到用户密码的加密方式为$id$salt$encrypted。
其中$id表示加密算法编号;$salt为在密码加密前生成的随机盐;$encrypted为经过加密的密码。
现在我们来查看系统的加密方式,我们可以通过查看crypt函数来了解相关信息。
回顾"Linux的帮助命令"章节中讲述的man方法,函数应该位于第三章。
[root@mysql1 ~]# man crypt
ID | Method
--------------------------------
1 | MD5
5 | SHA-256 (since glibc 2.7)
6 | SHA-512 (since glibc 2.7)

3.2 group文件
[root@mysql1 ~]# head -n 1 /etc/group
root:x:0:
[root@mysql1 ~]# man 5 group
组名:组密码站位符:GID:组的附属用户

猜你喜欢

转载自www.cnblogs.com/lv1572407/p/11816092.html