前言:linux是一个多用户多任务的分时操作系统,任何一个要使用系统资源的用户,都必须首先向系统管理员申请一个账号,然后以这个账号的身份进入系统。本节我们一起讨论以下Linux用户和权限管理的相关知识。
目录
一、用户
1.1 为什么申请账号呢?用户又是什么呢?
1)为什么申请用户?
因为 账号可以实时监控资源,增加安全性(没有用户,任何人都可登录系统,安全性较低)。
2)用户是什么?
在系统中的各种操作都会以某个身份进行,这些操作的发起者就是系统中的用户。
系统中的每个进程(运行的程序)都是由某个用户运行。
ex:在启动系统时会有系统用户。当去启动一个服务时会由用户的身份去运行,一般会由root用户去运行某个服务。比如:在安装apache/httpd服务时,系统会默认会创建apache用户。在启动httpd服务时由root/apache用户的身份去运行。
1.2用户作用
1)帮助系统管理员对使用系统的用户进行跟踪,并控制他们对系统资源的访问
2) 帮助用户组织文件,并为用户提供安全性保护,防止资源外泄。
1.3用户的类别与标识
1)用户类别
管理员用户(root)、普通用户、系统用户、登陆用户
注意:
- 管理用户和系统用户不能改变
- 每个用户账号都拥有一个唯一的用户名和各自的口令(使用加密算法的密码)
- 用户在登录时键入正确的用户名和口令后,就能够进入系统和自己的主目录
2)用户标识
用户的标识: User ID(UID)
- 管理员:UID为0
- 普通用户:1-65535 (在RHEL8中系统用户为1-999,因此普通用户默认从1000开始分配)
- 系统用户:UID为1-499(RHEL6),1-999(RHEL8),系统中用于运行各种服务程序的用户,默认是不能登录系统的(sbin/nologin)即系统用户默认不能登录系统。
- 登陆用户:500-6000(RHEL6),1000-60000(RHEL8)
1.4 系统对于用户,组,密码的配置文件及配置命令
1)/etc/passwd
- 作用及描述:用户的主要配置文件,用于存储用户的信息
- 文件内容:
cat /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
adm:x:3:4:adm:/var/adm:/sbin/nologin
......
- 参数解释(7位):
root : x : 0 : 0: root : /root : /bin/bash
root:用户名
x: 口令,密码位,表示该用户登录必须使用密码,如果是此为空值表示登录时无需使用密码
0 : uid 用户id
0: gid( group id) 用户组id
root: 描述信息
/root: 用户的主目录(家目录)
/bin/bash : 默认登录的shell环境(允许登录的)
2)id命令
作用:查看用户信息,判断用户是否存在。其中groups指的是附属组。
3)/etc/group
- 描述:组配置文本
- 内容:
cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
.....
- 参数含义(4位):
root : x : 0:
root : 组名称是用户组的名称,由字母或数字构成。与/etc/passwd中的登录名一样,组名不应重复。
x: 口令,密码 存放的是用户组加密后的口令字。一般Linux 系统的用户组都没有口令,即这个字段一般为空,或*
0: gid 与用户标识号类似,也是一个整数,被系统内部用来标识组。
:组内用户列表是属于这个组的所有用户的列表,不同用户之间用逗号(,)分隔。这个用户组可能是用户的主组,也可能是附加组。
4)/etc/shadow
-
描述:用户的密码文件,用户存储密码信息
-
内容:
[root@localhost ~]# cat /etc/shadow
root:$6$oZyjLQ42ZQn59yxJ$21ZcbcL4l9pd544PkSrNcyJi8vhQJpyRsiiiAUSZy2/AQHC1gO5aUMj55PnnGMITTHyAwGqYbE6ksm0aC7d.b0::0:99999:7:::
bin:*:17784:0:99999:7:::
daemon:*:17784:0:99999:7:::
adm:*:17784:0:99999:7:::
......
- 参数含义(9位):
root : $6$oZyjLQ42ZQn59yxJ$21ZcbcL4l9pd544PkSrNcyJi8vhQJpyRsiiiAUSZy2/AQHC1gO5aUMj55PnnGMITTHyAwGqYbE6ksm0aC7d.b0 : : 0 : 99999 : 7 : : :
1、root:用户名
2、$6$oZyjLQ42ZQn59yxJ$21ZcbcL4l9pd544PkSrNcyJi8vhQJpyRsiiiAUSZy2/AQHC1gO5aUMj55PnnGMITTHyAwGqYbE6ksm0aC7d.b0:加密后的密码
3、第一次修改密码到最后一次修改密码历经的天数
4、0:免密最短使用的期限 。0代表无限期。
5、密码最长使用期限:99999表示永久
6、7:密码过期7天前开始警告
7、密码过期后宽限时间,这个期限内登录会强制修改密码,超过这个期限则锁定账户,空值表示不强制操作时间
8、账户过期时间:空置表示不会过期
9、保留字段
补充:chage命令,可修用户和密码的有效期。语法:chage 【参数】 用户名。查看策略信息的命令:chage -l 【用户名】
5)/etc/gshadow
- 描述:组密码文件
- 内容
[root@localhost ~]# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
- 参数含义(4位):
root : : :
1、root:用户组名
2、用户组密码,可以空或!
3、用户组管理员的名称,字段也可为空,如果有多个用户组管理者,用,号分割
4、支持的账号(用户)名称,组成员,若有多个以,分割
6)/etc/sudoers
描述:提权文件
相关命令:visudo《=》vim /etc/sudoers