📜  Bash文件系统和文件权限

📅  最后修改于: 2020-12-29 05:55:08             🧑  作者: Mango

文件系统和文件权限

文件系统是一种由文件或文件夹的集合组织的结构。它确定对数据的控制,即如何存储和检索数据?

Linux Filesystem是一个由许多目录组成的树状结构。这些目录只是包含其他文件列表的文件。 Linux在文件和目录之间没有区别。 Linux文件系统中的所有文件都称为目录,这些文件的分类如下:

  • 包含数据,文本,图像,程序指令的普通文件。
  • 用于访问硬件设备的特殊文件。
  • 同时包含普通和特殊文件目录

让我们看一下Linux文件系统。

使用ls -l命令列出所有文件和目录。

给定图像中有七列,其定义如下:

  • 第一列代表文件类型和文件权限。每个文件行均以文件类型开头,然后指定与文件关联的访问权限。这些是以下类型的文件,带有其特定字符:
    1. 常规文件(-)
    2. 目录(d)
    3. 连结(l)
    4. 特殊档案(c)
    5. 插座
    6. 命名管道(p)
    7. 块设备(b)
  • 第二列代表存储块的数量。
  • 第三列代表文件的所有者或具有管理权限的超级用户。
  • 第四列代表所有者/超级用户组。
  • 第五列代表文件大小。
  • 第六列表示创建或最后修改文件的日期和时间。
  • 最后一列代表文件或目录的名称。

文件权限

尽管具有最佳的安全性功能,基于Linux的操作系统仍需要文件权限来保护其文件系统,因为当用户将不适当的权限分配给文件和目录时,会发生基于文件权限的问题。这些问题可能导致恶意或意外篡改文件系统。因此,Linux通过以下两个授权属性来保护其文件系统:

1.权限

与文件相关的三种权限如下:

阅读(r)权限,您可以通过该权限查看文件的内容。

写入(w)权限,通过它可以修改文件内容。

执行(x)权限,通过它可以运行编程文件或脚本。

注意:在调用权限的情况下会提供破折号(-)。

2.所有权

Linux用户分为以下三种:

所有者是创建文件的超级用户。他可以访问与文件关联的所有权限,包括读取,修改和运行文件。

称为一组用户或多用户。超级用户创建它。组中的每个成员都具有与文件关联的相同访问权限。

其他用户(即第三方用户)可以是不属于超级用户/组成员的其他任何人。他们使用与超级用户/组成员创建或拥有的任何文件或目录关联的权限。

让我们通过一个例子来理解这个概念。

请参阅变暗行的第一列。它有十个插槽。

  • 第一个插槽(-)表示由aa.sh命名的文件
  • 接下来的三个插槽(rw-)指定分配的所有者使用的权限。这些权限包括读取和写入。在这里,执行许可被拒绝。
  • 接下来的三个插槽(rw-)指定拥有该目录的组成员使用的权限。这些权限包括读取和写入,但不包括执行权限。
  • 接下来的三个插槽(r–)指定第三方用户使用的权限。这些权限仅包括读取权限。在这里,读写权限均被拒绝。

更改权限

您可以使用chmod命令更改每个类(用户/组/其他)的文件权限。删除或添加任何类的任何权限的基本形式是:

chmod [class][operator][permission] file_name

chmod [ugoa][+or-][rwx] file_name

哪里

由指标-u,g,oa表示,其中u对用户,g对组,o对其他,以及a对所有类。

运算符(+或-)用于添加或删除权限。

许可由指示符r,w,x表示,以分别允许访问以读取,修改或运行脚本。

让我们更改下面给出的变暗的aa.sh文件的权限:

1.为所有类添加拒绝的权限。

2.删除其他类的写入和执行权限。

因此,如有需要,您可以更改任何类的任何权限。