大家好,我们继续来上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系统中的一个身份识别。

最新文章

  1. (十一)Maven远程仓库的各种配置
  2. Win10系统怎样让打开图片方式为照片查看器
  3. bc#29 做题笔记
  4. C#------如何判断输入的是否为纯数字
  5. 关于viewport
  6. Mobilize.Net Silverlight bridge to Windows 10 UWP
  7. ahjesus 让Boot Camp支持创建win7 u盘安装盘
  8. Zone.js
  9. 安装protobuf及相关的lua生成器
  10. Ext江湖笔记:JavaScript基本知识点
  11. Java6 WebService学习
  12. Swift字符串可变性
  13. Redis和mysql数据怎么保持数据一致的?
  14. js call使用
  15. NTFS的交换数据流ADS应用
  16. Python - requests https请求的坑
  17. sudo命令 和限制root 远程登陆
  18. python运维之使用python进行批量管理主机
  19. 手把手教你在.NET中创建Web服务
  20. oracle 归档日志总结

热门文章

  1. HBase详解(04) - HBase Java API使用
  2. 原生js实现rsa加密
  3. 一个小而美的 C 语言项目
  4. 《爆肝整理》保姆级系列教程-玩转Charles抓包神器教程(4)-Charles如何设置捕获会话
  5. RealWorld CTF 5th ShellFind 分析
  6. MyBatis的使用八(动态SQL)
  7. Vue32 插槽
  8. ACID和CAP的比较
  9. echarts入门到应用学习笔记
  10. .net core 阿里云接口之将指定的OSS文件下载到流