大家好,我们继续来上linux课程,这节课我们从以下几点来进行讲解:

  1. Linux权限的概念;
  2. UID相关概念
  3. 用户和用户组的关系
  4. 用户和账户的区别

Linux是一个多用户多任务的的操作系统,很多时候,一台服务器上不止有一个用户,用户在操作整个系统时,可能会误删文件,这对整个linux系统的安全性和可操作性造成一定影响。所以在Linux系统中有这样一个概念,叫做权限,每个文件都有自己的权限范围,有些用户只能操作自己有权限的文件,这是整个linux系统能正常运行非常关键的一点。这节课,我们将从以下几个方面来了解linux的权限。

用户名和UID在现实生活中就像人的姓名和身份证号一样,但是,在linux系统中,用户名是不能重复的,因为我们在登录时,不是通过UID进行登录,而是通过用户名登录,这和我们登录微信是一样的,一个用户名对应一个密码,且是唯一绑定的,对吧。但是还有一点,用户名在操作系统底层时如何被识别的呢,linux系统采用16位二进制数来记录和区分不同的用户,这个数字就是UID,是操作系统识别用户的标识符。在linux系统中,,可以记录65536也就是2的16次方个不同用户。系统会记录“用户名”和UID的对应关系,并通过UID为用户分配权限。这个我们待会会来学习,如何通过linux命令分配权限。

Linux系统根据用户的UID将用户分为root用户,系统用户,普通用户。

  1. root用户/:也称为超级用户,UID为0,root用户可以控制和访问所有文件并使用系统的所有功能,root用户对系统有完全控制权,可以操作所有文件。
  2. 系统用户:系统用户由linux自动创建,负责在Linux启动时管理执行文件。系统用户的UID范围为1-999
  3. 普通用户:所有使用linux系统的真实用户,可以使用用户名密码登录,系统默认用户ID从1000开始编号,每添加一个用户UID自定加1.普通用户只能操作自己的目录,系统临时目录和经过目录所有者授权的目录。

整个linux用户群分为用户和用户组,用户组是一群具有相同特征的用户的集合。打个比方,我们在开发的过程中如果对同一文件具有相同的权限,这就就需要用户组的概念。用户组和用户的对应关系有哪些呢:首先是一对一,一个用户对应一个用户组,多对一,多个用户对应一个用户组,也就是一个用户组中包含多个用户,并且这些用户只属于这个用户组,但有些情况,一个用户可能属于多个用户组,这就涉及到了第三种情况,一对多,一个用户对应多个用户组;那还有最后一种情况,就是多个用户对应多个用户组,你们可能对这个概念有点模糊,接下来,我们就学习一下权限分配的简单概念,比如说我们在对某一个文件的操作时,就可以对文件的权限进行控制,那些用户或者用户组可以操作这个文件呢,我们linux系统中有对应的命令进行操作。

用户组都有自己的数字编号,在linux系统中这样定义,区分不同用户组的数字称为Group ID,简写为GID,以后你们在linux系统中看到GID的时候要知道它是什么概念。同理,个人用户在linux系统中用USER ID来表示,简称为UID,每一个个人用户都有属于自己的一个用户组,就比如,UID是个人,GID是家的意思,每个人都有一个家,也就是每个UID都至少属于一个GID,但不一定只属于一个GID,也有可能属于多个GID,

了解完这些用户和用户组的相关概念,我们再来学习一下用户和账户的区别,Linux操作系统是一个多用户多任务操作系统,允许多个用户同时登录到系统,使用系统资源。用户账户是用户的身份标识。用户通过用户账户可以登录到系统,并访问已经被授权使用的资源。系统根据账户来区分属于每个用户的文件、进程和任务,并给每个用户提供特定的工作环境(如用户的工作目录、shell版本和图形化的环境配置等)。我们在登录linux系统时所需要的用户名密码就是一个账户,我们通过这个账户可以进到linux系统中,而用户的概念就是我们在linux系统中的一个身份识别。

linux中用户和用户组的概念的更多相关文章

  1. linux中用户和用户组的概念以及查看命令

    Linux 是多用户多任务操作系统,换句话说,Linux 系统支持多个用户在同一时间内登陆,不同用户可以执行不同的任务,并且互不影响. 例如,某台 Linux 服务器上有 4 个用户,分别是 root ...

  2. Linux中用户及用户组

    Linux用户只有两个等级:root及非root.Linux中还有一部分用户,如:apache.mysql.nobody.ftp等,这些也都是非root用户,即普通用户.Linux的权限实际是上不同用 ...

  3. linux中用户和用户组

    一.用户和组原理 一个用户可以属于多个组,一个组有多个用户 在Linux中操作系统必须依赖组和用户进行管理 二.与用户和组相关的配置文件 1.组相关配置文件 1)/etc/group :管理用户组信息 ...

  4. Linux中用户与用户组管理

    1.基础知识 Linux作为一种多用户的操作系统(服务器系统),允许多个用户同时登陆到系统上,并响应每个用户的请求. 任何需要使用操作系统的用户,都需要一个系统账号,账号分为:管理员账号与普通用户账号 ...

  5. 13、linux中用户和用户组

    linux是多用户多进程的系统: 每个文件和进程都需要应对一个用户和用户组: linux系统通过uid和gid来识别用户和组的: 一个用户必须要有唯一的uid和一个主组来识别身份,不同的用户可以使用同 ...

  6. Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念

    Linux学习之CentOS(三)--初识linux的文件系统以及用户组等概念 进入到了Linux学习之CentOS第三篇了,这篇文章主要记录下对linux文件系统的初步认识,以及用户组.用户权限.文 ...

  7. linux系统--用户和用户组

    一.用户和用户组的概念 用户:使用操作系统的人 用户组:具有相同系统权限的一组用户.在linux系统中可以存在多个用户组 1.1 /etc/group 这里存储当前系统中所有用户组的信息 每一行对应一 ...

  8. 2.Linux的用户、用户组、权限、文件系统管理及其网络配置

    2.1 Linux的用户及用户组 2.1.1 Linux的用户管理 用户账号管理包含以下三个方面: 用户账号的添加.删除.与修改 用户口令(密码)的管理 用户组的添加.删除管理 Linux系统中用户信 ...

  9. linux创建用户和用户组

    Linux创建用户.用户组 及 删除 在创建用户时,需要为新建用户指定一用户组,如果不指定其用户所属的工作组,自动会生成一个与用户名同名的工作组.创建用户user1的时候指定其所属工作组users,例 ...

  10. Linux命令——用户和用户组管理

    Linux命令--用户和用户组管理 命令groupadd 作用:新增组 格式:groupadd [-g GID] groupname 参数:-g,指定GID,一般从500开始 说明:一般不必加-g参数 ...

随机推荐

  1. 一个小而美的 C 语言项目

    我最近在学习 C 语言,看的一本书叫做 <C Primer Plus>,这本书对 C 语言的描写.特性介绍.代码示例都介绍的比较详细,是小白入门 C 语言非常不错的一本书,还有一本经典书叫 ...

  2. Java学习笔记:2022年1月6日

    Java学习笔记:2022年1月6日 摘要:不可变字符串为什么不可变?StringBuffer类与StringBuilder类,字符串操作拾遗,记事本原理,进制转化问题. 目录 Java学习笔记:20 ...

  3. 算法学习笔记(5): 最近公共祖先(LCA)

    最近公共祖先(LCA) 目录 最近公共祖先(LCA) 定义 求法 方法一:树上倍增 朴素算法 复杂度分析 方法二:dfs序与ST表 初始化与查询 复杂度分析 方法三:树链剖分 DFS序 性质 重链 重 ...

  4. 线段树套线性基——题解P4839 P哥的桶

    文章历史 2022-08-03: 文章初稿,由于对算法介绍过于少而被管理员打回重造. 2020-08-06:将算法介绍进行扩写,并删除了一些可有可无的内容或玩梗内容. 管理员审核题解辛苦了. 简要题意 ...

  5. 如何通过Terraform Associate考试并获得证书

    1 什么是Terraform? Terraform是一个IaC工具,IaC全称为Infrastructure as Code,基础设施即代码.它的理念是通过代码来管理基础设施,如服务器.数据库等,更多 ...

  6. 2023牛客寒假算法基础集训营1 ACDEFGHKLM

    比赛链接 A 题解 知识点:模拟. 显然. (用char输入到一半直接给答案跳出,WA了两小时,无话可说. 时间复杂度 \(O(1)\) 空间复杂度 \(O(1)\) 代码 #include < ...

  7. for循環,逗號運算符,其他(+= -= *= /=)

  8. HashSet集合介绍-哈希值

    HashSet集合介绍 java.util.HashSet是set 接口的一个实现类,它所存储的元素是不可重复的,并且元素都是无序的(即存取顺序不一致).java.util.HashSet底层的实现其 ...

  9. C++迭代器种类与编译期间多态

    迭代器分类 C++ STL 中根据移动能力将迭代器分成了 5 类: Input Iterator 输入迭代器,只支持 operator++ 操作. Output Iterator 输出迭代器,只支持 ...

  10. Jemeter参数

    以下是转载内容,仔细看过后,觉得用得最多的应该是csvread函数.用户自定义变量以及CSV DATA CONFIG控制器这几个,但是做练习之后,在结果树和聚合报告中怎么查看执行结果是个问题,没找到对 ...