Linux操作系统——概念扫盲2

目录

用户权限模型


用户权限模型

这个名词大伙比较陌生,但是我要是提一个词叫root大伙就听懂了。这就是Linux用户权限模型下的一个很常见的概念。他表示的是超级用户的意思。我们下面来简单的讨论一下这个东西:

熟悉Linux系统编程的同志们知道:Linux用户权限模型有三个核心概念:**用户(User)、组(Group)以及访问控制列表ACL(Access Control List)

  1. 用户(User)

Linux系统中的每个用户都有一个唯一的用户ID (UID)。用户账户是系统识别和验证用户身份的基础,不同的用户可以有不同的权限。一个具象化的概念就是我们登录桌面系统的时候,会让我们输入一次用户名和密码。这里就是OS需要确定我们的身份信息

文件或目录的权限分为读(r)、写(w)和执行(x)三种,分别对应查看文件内容、修改文件内容和运行程序的能力。用户对于文件的权限由文件所有者的权限、所属组的权限和其他用户的权限共同决定。

  1. 组(Group)

组是一组用户的集合,每个组也有一个唯一的组ID (GID)。通过将用户添加到特定组,可以批量管理这些用户的权限。文件或目录可以被赋予一个所有者组,组内的成员共享相同的访问权限。这允许在不单独为每个用户设置权限的情况下,给予一组用户特定的访问权限。

  1. 基础权限模型

使用数字表示法(如755),或者符号表示法(rwx),来表示文件或目录的权限。包括SUID (Set User ID),SGID (Set Group ID),SBIT/Sticky Bit。SUID允许用户以文件所有者的权限执行文件;SGID使得在目录中创建的文件继承该目录的组所有权;SBIT用于限制文件删除权限,常见于/tmp这样的共享目录。

  1. 访问控制列表(ACL)

当基本的用户和组权限不足以满足复杂的权限需求时,ACL提供了更细致的权限控制。ACL允许为单个文件或目录设置针对特定用户的访问权限,超越了传统的所有者-组-其他三元组模型。通过setfacl 󠁪命令设置ACL,getfacl 󠁪命令查看ACL。ACL可以指定额外的用户或组,并为他们设置读、写、执行权限。注意事项:并非所有文件系统都支持ACL,例如EXT4默认支持,但需要在挂载时启用该功能。

我们当然也可以一窥用户权限的事情:笔者这里在shell中输入了

ls -l
drwxr-xr-x 4 charliechen charliechen 4096 Aug 14 17:23 demo
drwxr-xr-x 2 charliechen charliechen 4096 Sep 28 10:34 linux-programming
drwxr-xr-x 2 charliechen charliechen 4096 Aug 21 10:59 op
drwxr-xr-x 3 charliechen charliechen 4096 Sep 10 21:11 remote
drwxr-xr-x 3 charliechen charliechen 4096 Sep  3 18:54 shell

可以得到这些结果,我们的第一个就是来查看drwxr-xr-x的含义,首先d打头就代表目前该项是一个目录,而后面的九个字母依次表达的是不同用户对这个文件的操作权限:

  • rwx:表示文件所有者的对该文件所拥有的权限;

  • r-x:表示文件所属组对该文件所拥有的权限;

  • ---:表示其他用户对该文件所拥有的权限。

一个常见的问题是如何更改权限:笔者建议对这个感兴趣的同志可以查看chmod的含义!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值