文件系统是一种由文件或文件夹的集合组织的结构。它确定对数据的控制,即如何存储和检索数据。
1. 文件系统
Linux文件系统是一个由许多目录组成的树状结构。这些目录只是包含其他文件列表的文件。Linux在文件和目录之间没有区别。Linux文件系统中的所有文件都称为目录,这些文件的分类如下:
包含数据,文本,图像,程序指令的普通文件。
用于访问硬件设备的特殊文件。
包含普通文件和特殊文件的目录。
下面让我们看一下Linux文件系统。使用ls -l命令列出所有文件和目录。
上面图中有七列,其定义如下:
第一列代表文件类型和文件权限。每个文件行均以文件类型开头,然后指定与文件关联的访问权限。如以下类型的文件,带有其特定字符:常规文件(-)
目录(d)
链接(l)
特殊档案(c)
套接(s)
命名管道(p)
块设备(b)
第二列代表存储块的数量。
第三列代表文件的所有者或具有管理权限的超级用户。
第四列代表所有者/超级用户组。
第五列代表文件大小。
第六列表示创建或最后修改文件的日期和时间。
最后一列代表文件或目录的名称。
2. 文件权限
尽管具有最佳安全性,基于Linux的操作系统仍需要文件权限来保护其文件系统,因为当用户向文件和目录分配不当权限时,会发生基于文件权限的问题。这些问题可能导致恶意或意外篡改文件系统。因此,Linux通过以下两个授权属性来保护其文件系统:
2.1. 权限
与文件相关的三种类型的权限如下:
阅读(r)权限,可以通过此权限可以查看文件的内容。
写入(w)权限,通过此权限可以修改文件内容。
执行(x)权限,通过此权限可以运行编程文件或脚本。
注意:在调用权限的情况下会提供破折号(-)。
2.2. 所有权
Linux用户分为以下三种:
所有者是创建文件的超级用户。他可以访问与文件关联的所有权限,包括读取,修改和运行文件。
用户组称为一组用户或多用户。超级用户创建用户组,组中的每个成员都具有与文件关联的相同访问权限。
其他用户(即第三方用户)是不属于超级用户/组成员的其他任何人。他们使用与超级用户/组成员创建或拥有的任何文件或目录关联的权限。
让我们通过一个例子来理解这个概念。
以第一列为例,它有十个槽位。
第一个插位(-)表示由aa.sh命名的文件。
接下来的三个插位(rw-)指定分配的所有者使用的权限。此权限表示可以读取和写入。在这里,执行权限被拒绝。
接下来的三个插位(r--)指定拥有该目录的组成员使用的权限。此权限表示可以读取权限,但不包括执行权限。
接下来的三个插位(r--)指定第三方用户使用的权限。此权限表示可以读取权限。在这里,读写权限均被拒绝。
3. 更改权限
可以使用chmod命令更改每个类(用户/组/其他)的文件权限。删除或添加任何类的任何权限的基本形式是:
chmod [class][operator][permission] file_name
chmod [ugoa][+or-][rwx] file_name
其中,
class由-u,g,o和a表示,其中u表示用户,g表示组,o表示其他,以及a对所有类。
operator(+或-)用于添加或删除权限。
permission由指示符r,w,x表示,以分别允许访问以读取,修改或运行脚本。
让我们更改下面给出的aa.sh文件的权限:
1. 为所有类添加执行的权限
chmod o+w,o+x aa.sh
2.删除其他类的写入和执行权限
chmod o-w,o-x aa.sh
因此,如果需要,都可以更改类的任何权限。
¥ 我要打赏
纠错/补充
收藏
加QQ群啦,易百教程官方技术学习群
注意:建议每个人选自己的技术方向加群,同一个QQ最多限加 3 个群。