Linux是一个多用户多任务操作系统,多用户是指可以多人同时使用系统资源;,多用户是指多个用户可以在同一时间内 登录同一个系统执行各自不同的任务,而互不影响。因此为了保证系统安全性和各用户的隐私,系统必须要给每一个用户一个身份然后授予其相应的权限,不同用户具有不同的权限,每个用户是在权限允许的范围内使用系统资源,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。
linux用户,组,权限的相关概念
在linux中账号就是用户在系统上的一种具现,每个用户都用一个唯一的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。通过对其账号的权限管理来实现对用户分配系统资源。当我们需要让多个用户具有相同的权限,比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理;另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。组就是用来对用户进行权限管理的一个容器,将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段。
用户的类别
1,管理员:root
2,普通用户:
系统用户:仅用于运行服务程序;
登录用户:系统资源的正常使用者;
用户标识:UserID, UID ,用16bits二进制数字表示,表示范围为:0-65535;
管理员:0
普通用户:1-65535,其中系统用户在CentOS 5, 6中是 1-499, CentOS 7中是 1-999。登陆用户 在 CentOS 5,6中是 500+ ,在CentOS 7中是:1000+
UID和用户之间的转换称为名称解析:名称转换;
解析库: username UID
/etc/passwd:用户名、UID及其它属性信息解析库;
用户组类别:1,管理员组
2,普通用户组:系统组, 登录组
组标识:GroupID, GroupID
管理员组:0 普通用户组:1-65535,其中系统组在CentOS 5, 6中是 1-499, CentOS 7中是 1-999。登陆组 在 CentOS 5,6中是 500+ ,在CentOS 7中是:1000+
GID和组之间的转换称为名称解析:名称转换;
名称解析:groupname gid
组解析库:/etc/group
组类别以用户为核心来划分又可以分为两类:
用户的主组:基本组;
用户的附加组:额外组;
组类别根据组内容纳的用户来划分可以分为两类:
私有组:与用户名相同,且只有一个此用户;
公共组:组内包含了多个用户;
认证机制:
认证机制:验正用户的确是他所声称的人;
通过对比事先存储的信息,与登录时所提供的信息是否一致;
认证信息存储于:
用户的信息库(用户影子口令文件):/etc/shadow
组的信息库(组影子口令文件):/etc/gshadow
用户密码:加密存放,使用单向加密机制(单向加密:仅能加密,不能解密,提取数据特征码,数据相同:加密结果相同),此加密机制有两个特点: 定长输出, 雪崩效应。
加密算法:md5: message