1 linux的用户与用户组
1.1 概述
Linux是一个真实的、完整的多用户多任务操作系统,多用户多任务就是可以在系统上建立多个用户,而多个用户可以在同一时间内登录同一个系统执行各自不同的任务,而互不影响。
root :系统维护
www:网页修改
ftp:文件上传
mysql:SQL查询
不同用户具有不同的权限,每个用户是在权限允许的范围内完成不同的任务,linux正是通过这种权限的划分与管理,实现了多用户多任务的运行机制。
1.2 linux的用户分类
1. root 用户
拥有高权限,可以登录系统,进行任何操作。
2. 虚拟用户
这类用户也被称为伪用户或假用户,以与真实用户区分开来。这类用户不具有登录系统的能力,但却是系统运行不可缺少的用户,比如bin、daemon、adm、ftp、mail等,这类用户都是系统自身拥有的,而非后来添加的。
3. 普通真实用户
这类用户等登录系统,权限有限,由管理员添加。
注意 : linux是区分用户进行各种操作的,也就是说如果你想做任何操作都是必须先登录某个用户才可以做相关的操作,所以我们想要操作linux必须有自己的用户!
那怎么创建用户呢?
1.3 linux的用户组
Linux是一个多用户多任务的分时操作系统,如果要使用系统资源,就必须向系统管理员申请一个账户,然后通过这个账户进入系统。这个账户和用户是一个概念,通过建立不同属性的用户,一方面,可以合理的利用和控制系统资源,另一方面也可以帮助用户组织文件,提供对用户文件的安全性保护。
每个用户都用一个的用户名和用户口令,在登录系统时,只有正确输入了用户名和密码,才能进入系统和自己的主目录。
用户组是具有相同特征用户的逻辑集合,有时我们需要让多个用户具有相同的权限。
比如查看、修改某一个文件的权限,一种方法是分别对多个用户进行文件访问授权,如果有10个用户的话,就需要授权10次,显然这种方法不太合理。
另一种方法是建立一个组,让这个组具有查看、修改此文件的权限,然后将所有需要访问此文件的用户放入这个组中,那么所有用户就具有了和组一样的权限。这就是用户组,将用户分组是Linux 系统中对用户进行管理及控制访问权限的一种手段,通过定义用户组,在很大程度上简化了管理工作。
说白了用户组就是对linux中同一类对象进行统一管理一种技术手段,将同一类用户放到一个组中去,封装成一个更大的整体;
就好比 同一类学生封装到一个班级里面,学生就是用户,班级就是组;对班级进行操作其实就是对这个班级的所有学生的操作;
1.4 用户与组的关系
用户和用户组的对应关系有:一对一、一对多、多对一和多对多;下图展示了这种关系:
一对一:即一个用户可以存在一个组中,也可以是组中的成员。
一对多:即一个用户可以存在多个用户组中。那么此用户具有多个组的共同权限。
多对一:多个用户可以存在一个组中,这些用户具有和组相同的权限。
多对多:多用户个可以存在多个组中。其实就是上面三个对应关系的扩展。
1.5 用户与组对linux的影响
假如 我们现在有这么几个用户 : zwm 、sjg、 wxh
假设 zwm 和 sjg 用户 是 g1 组 ,wxh 是 g2 组
我们用 zwm 用户创建了一个文件 file1
那么对于这个file1来说 就有 三种权限的设置
1. User --> 文件所有者 完全权限 读 写 执行 4 2 1 = 7
直接创建这个文件的用户(zwm),对这个文件享有很高的权限
2. Group --> 文件所有者同组权限 读
这个用户所属组(g1组),与上面用户同组的用户对这个文件有什么样的操作权限
3. Others --> 除文件所有者和所有者组之外那些个用 0
其他用户(wxh),除了上面的用户和上面的组以外的其他人对这个文件有什么权限操作
举个例子
其中:
天神:root 用户,无所不能。
王大毛家:某个用户组
王大毛:某个用户组中的用户
王大毛房间的所有者是王大毛,里面的东西,其他人不能乱动,表示为所有者权限 (User)。
王大毛家内公共区域三兄弟可以共享,表示为所有者同组权限(Group)。
对于王大毛来说,张小猪就不是他们家的人,表示为所有者非同组权限(others)。