【Linux】权限管理

简介: 【Linux】权限管理

什么是权限

在生活中总有许多视频软件,这些视频软件可以看电影诸如此类,但是有些电影需要Vip才可以观看,在一些音乐软件上,一些音乐只有Vip才能听,这就是因为权限的不足,换句话来说,权限就是权利在规则上的一些限制,权利并不是无限的,普通用户在平台上一样有着观看电影和听音乐的权利,但是没有观看Vip电影和听Vip音乐的权利,这就是权利的限制,权限;

Linux系统对于文件权限的管控十分的严格,用户如果需要对某个文件进行相应的操作,就必须拥有对该文件的对应的权限

从这里可以看出:

在Linux中权限是伴生文件的

在Linux中共有两种用户

  • 普通用户
  • 超级用户(root用户)

Linux权限管理

在Linux中应该以两个角度对权限进行分析,一个是访问者的权限,一个是原本文件具有的属性,为了方便理解可以简称为“人”与“事物属性”

在Linux中,使用指令“ll” 或者指令 “ls -l”就能看到当前文件所对应的信息;

在Linux中,文件等于内容+属性,而该处使用指令所展示出的内容即为文件的属性;


文件访问者的分类(人)

文件访问者的分类共有三种,分别为拥有者(u)、所属组(g)以及其他人(o);

文件访问者的分类

拥有者u

所属组g

other

以该形式对文件的权限进行分类将更加有效的保证文件的安全性;

从上图可以表示一个文件对应的拥有者以及所属组(拥有者与所属组可以穷举);

但是这里出现了一个问题,拥有者即为该文件的拥有者,other指的是除了拥有者和所属组以外的其他访问者,那既然如此,所属组指的又是谁?为何Linux在设计角色划分时为何要带一个所属组?

这里的答案其实很明确,就是为了方便对权限的分配,举个例子,我是一个小组的组长,我的小组内共有50个组员,为了方便权限分配,是一个一个为组员进行权限分配更为方便还是将所有组员放置一个小组内并将整个小组进行授权会更为方便;

答案很明确,当然是后者,所以才会有着所属组的角色分配;

用户组即为一批用户的集合而所属组即为一批已经被进行权限分配的用户的集合

一个组内可以有很多人,在命名时应用组长的名字对组进行命名(在特殊情况下,一个组内可以是只有一个人);


文件类型和访问权限(事物属性)

一个文件最基本的属性是,能被读取( r ),可以被写入( w ),也可以被执行( x );但权限之所以是权限,说明该处的权限不止只与文件能否被读写执行有着全部的关系;

从图中可知文件的属性包含了文件的权限属性、连接数、文件的拥有者、所属组、文件大小、修改日期以及文件名。


文件的权限属性

从上文可知,“一个文件最基本的属性是,能被读取( r ),可以被写入( w ),也可以被执行( x )”,但是从图中却可以看到不同的r w x;再仔细看时发现其实除了第一个" - “以外其余的都可以三三为一组;

这里先抛开最前面的” - “符号,除了该符号以外后面的九个其实正好对应了三种访问者的权限,从左到右分别为拥有者( u )、所属组( g )、othere( o );

若是权限所在位置为” - "则表示该访问者不拥有该权限;

否则拥有该权限可以进行相应操作;

文件权限属性的修改

同时,作为root用户,可以对文件的访问权限属性进行修改;

通过

chmod x+rwx filename

指令可对文件的访问权限做相对应的修改;

以该处为例使用了chomd权限修改了拥有者,所属组以及other的所有权限;(普通用户的情况可以使用sudo提权进行操作);

格式:chmod [参数] 权限 文件名常用选项 :R (递归修改目录文件)

用户表示符+/-=权限字符:

-+:向权限范围增加权限代号所表示的权限
-:向权限范围取消权限代号所表示的权限
=:向权限范围赋予权限代号所表示的权限

用户符号:
u:拥有者
g:拥有者同组用
o:其它用户
a:所有用户


文件后缀类型

在我们平时使用的Windows系统中,文件有许多类型,例如txt、exe、zip等等

在Linux中也同样拥有文件类型,但是Linux中的文件类型与平时所使用Windows中文件类型并不相同,换句话说,Linux内文件的运行并不与文件的后缀类型相关

但是为什么再在此处对test.txt文件使用gcc进行编译时会报错?

原因是,我们提到“Linux中的文件类型与平时所使用Windows中文件类型并不相同”,但是在Linux中,gcc是作为一个软件而存在,在Linux中运行文件并不会因为文件的后缀类型而受到限制,但是文件会因为软件的类型检查而被不能运行;

举个例子,现在有一个test.c的文件,文件内容如下:

#include<stdio.h>
int main()
{
  printf("HelloLinux\n");
  return 0;
}

现在使用gcc对该文件进行编译,并将编译后的a.out文件重新命名为zzz,并执行该文件;

从该处可知,在Linux中,文件的运行与后缀类型无关;


Linux中文件的类型

从上文可知,在Linux中文件的运行与后缀类型无关,那Linux是如何分别不同的文件的?或者说,Linux是如何对文件进行分类的?

有一句话叫做“Linux中万物接文件”,这句话如字面意思相同,在Linux系统中,所有一切都可以看作是文件;而使用指令“ll” 或者指令 “ls -l”就能看到当前文件所对应的信息,包括这个文件的类型;

如图所示,红色区域即为Linux中的文件类型;

在Linux中,共有七种文件类型:
d:文件夹
-:普通文件
l:软链接(类似Windows的快捷方式)
b:块设备文件(例如硬盘、光驱等)
p:管道文件
c:字符设备文件(例如屏幕等串口设备)
s:套接口文件


相关文章
|
4月前
|
算法 Linux 数据安全/隐私保护
【linux】root大王如何制约普通用户——权限管理
【linux】root大王如何制约普通用户——权限管理
|
6月前
|
Ubuntu Linux Shell
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
【Linux操作系统】探秘Linux奥秘:用户、组、密码及权限管理的解密与实战
142 0
|
6月前
|
算法 Linux 数据安全/隐私保护
Linux权限管理:深入理解setuid、setgid、seteuid和setegid
Linux权限管理:深入理解setuid、setgid、seteuid和setegid
540 0
|
17天前
|
Linux 数据安全/隐私保护
linux权限管理
本文介绍了Linux系统中的权限管理,包括权限的概念、用户和用户组与权限的关系、文件权限位的说明以及rwx权限的具体含义。同时,详细讲解了如何使用`chmod`和`chown`命令更改文件和目录的权限,并通过多个实验演示了不同权限组合对文件和目录的实际影响。最后,总结了文件和目录权限的一些重要知识点,帮助读者更好地理解和应用Linux权限管理。
41 1
linux权限管理
|
1月前
|
Linux 数据安全/隐私保护
探索Linux操作系统下的权限管理
【8月更文挑战第66天】在数字世界中,操作系统的权限管理就如同现实世界中的钥匙和锁,保护着我们的数据安全。本文将带你深入理解Linux系统中的权限设置,通过实际代码示例,让你掌握文件和目录权限的分配与管理技巧。准备好了吗?让我们开始这场关于权限管理的探险之旅吧!
85 14
|
5月前
|
网络协议 Linux 数据安全/隐私保护
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
【Linux操作系统】权限管理和粘滞位
|
5月前
|
安全 Linux Shell
【Linux】权限管理
【Linux】权限管理
49 5
|
6月前
|
运维 安全 Linux
深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】 在 Linux 操作系统中,文件系统权限管理是维护系统安全与数据完整性的基石。本文旨在深入探讨 Linux 权限模型的核心概念、实现机制及其对系统安全性的影响。通过对用户身份、文件权限和访问控制列表(ACL)等关键元素的剖析,揭示权限管理在实际操作中的应用细节。文章还将讨论如何有效配置权限来优化系统性能和提升安全性,以及解决常见的权限问题的策略。
|
6月前
|
Linux PHP 数据安全/隐私保护
深入理解PHP7的返回值类型声明深入理解 Linux 文件系统的权限管理
【5月更文挑战第30天】在PHP7中,引入了返回值类型声明的特性。这一特性使得开发者可以在函数定义时指定函数应返回的值的类型。本文将详细解析返回值类型声明的用法,以及它在实际开发中的应用,帮助读者更好地理解和使用这一特性。
|
6月前
|
安全 Linux 数据安全/隐私保护
深入理解Linux文件系统的权限管理
【5月更文挑战第24天】 在Linux操作系统中,文件系统权限管理是维护系统安全和用户数据隔离的关键机制。本文将深入探讨Linux文件系统中的权限模型,包括用户、组和其他类别的读、写、执行权限。我们将分析权限位的具体含义,如何通过命令行工具修改权限,以及权限掩码(umask)的作用。此外,我们还将讨论文件系统权限在实际应用中的常见问题及其解决方案,帮助读者构建更为安全且高效的Linux工作环境。
下一篇
无影云桌面