简介Linux权限

Linux是一个基于文件的所有权和权限的UNIX观念提供担保的,在文件系统级别多用户操作系统。如果您正计划提高您的Linux技能,很重要的是有多大的所有权和权限体面的了解...

介绍

Linux是一个基于文件的所有权权限的UNIX观念提供担保的,在文件系统级别多用户操作系统。 如果你计划提高你的Linux技能,重要的是要有一个体面的理解如何所有权和权限工作。 在处理文件所有权和权限时,有许多复杂的问题,但我们将尽力将概念提炼为对基本理解如何工作所必需的细节。

在本教程中,我们将介绍如何查看和了解Linux所有权和权限。 如果您正在寻找如何修改权限的教程,看看这个指南: Linux权限基础及如何在VPS使用的umask

先决条件

确保您了解本系列前面的教程中涵盖的概念:

按照本教程,访问Linux服务器不是绝对必要的,但有一个可以使用将让你获得一些第一手的经验。 如果你想设置一个, 看看这个链接寻求帮助。

关于用户

如引言中所述,Linux是一个多用户系统。 我们必须明白Linux 用户的基本知识,才可以谈的所有权和权限,因为它们是所有权和权限,适用于实体。 让我们开始了解用户的基本知识。

在Linux中,有两种类型的用户: 系统用户普通用户 传统上,系统用户用于在系统上运行非交互或后台进程,而常规用户用于以交互方式登录和运行进程。 当您首次登录Linux系统时,您可能会注意到,它开始于许多系统用户运行操作系统所依赖的服务 - 这是完全正常的。

一个简单的方法来查看所有系统上的用户是看的内容/etc/passwd文件。 在这个文件中的每一行包含关于单个用户的信息,首先是它的用户名 (前第一个名字: )。 打印passwd使用此命令文件:

cat /etc/passwd

超级用户

除了两种用户类型,有超级用户超级用户,拥有覆盖任何文件所有权和权限限制的能力。 在实践中,这意味着超级用户有权访问自己的服务器上的任何内容。 此用户用于进行系统范围的更改,并且必须保持安全。

还可以配置具有假设“超级用户权限”的能力的其他用户帐户。 事实上,产生具有正常用户sudo为系统管理任务的权限被认为是最佳实践。

关于组

组是零个或多个用户的集合。 用户属于默认组,也可以是服务器上任何其他组的成员。

一个简单的方法来查看所有的组及其成员是在看/etc/group服务器上的文件。 在本文中,我们不会介绍组管理,但如果您对您的组感兴趣,可以运行此命令:

cat /etc/group

现在你知道用户和组是什么,让我们谈谈文件所有权和权限!

查看所有权和权限

在Linux中,每个文件由单个用户和单个组拥有,并且具有自己的访问权限。 让我们来看看如何查看文件的所有权和权限。

查看文件的权限最常见的方法是使用ls与长列表选项,如ls -l myfile 如果要查看当前目录中所有文件的权限,请运行不带参数的命令,如下所示:

ls -l

提示:如果你是在一个空的主目录,而你还没有创建任何文件来查看是,您可以通过列出的内容,请跟随/etc :通过运行此命令目录ls -l /etc

下面是一个输出可能看起来像一个示例屏幕截图,每个输出列的标签:

ls -l

请注意,列出每个文件的模式(包含权限),所有者,组和名称。 除了模式列,这个列表相当容易理解。 为了帮助解释所有这些字母和连字符的意思是,让我们打破模式列到它的组成部分。

了解模式

为了帮助解释所有的分组和字母的意思是,看看这个特写镜头在上面的例子中,第一个文件的方式

模式和权限分解

文件类型

在Linux中,有两个基本类型的文件: 正常特殊 文件类型由文件的模式的第一个字符表示-在本指南中,我们将此作为文件类型字段

(普通文件可以通过使用连字符文件被识别-在其文件类型字段。 正常文件只是可以包含数据的纯文件。 它们被称为普通或常规文件,以将它们与特殊文件区分开。

特殊文件可以由其文件类型字段中具有非连字符(例如字母)的文件标识,并且由操作系统以与正常文件不同的方式处理。 文件类型字段中显示的字符表示特定文件所属的特殊文件的类型。 例如,一个目录,这是最常见的一种特殊的文件,是由所识别d出现在其文件类型字段(如在前面的屏幕快照)字符。 还有其他几种特殊文件,但它们不是我们在这里学习的关键。

权限类

从图中,我们知道, 模式列指示文件类型,接着是三个黑社会,或者类,权限:用户(所有者),群组等。 类的顺序在所有Linux发行版中都是一致的。

让我们看看哪些用户属于每个权限类:

  • 用户 :文件的所有者属于这一类
  • :文件的组的成员都属于这一类
  • 其他 :不属于用户类的一部分的任何用户都属于这一类。

阅读符号权限

接下来要注意的是三个字符或三元组的集合,因为它们以符号形式表示每个类对给定文件具有的权限。

在每个三元组中,读取,写入和执行权限以以下方式表示:

  • 阅读 :由一个指示r在第一位置
  • :由一个指示w在第二位置
  • 执行 :通过一个指示x在第三位置。 在某些特殊情况下,这里可能有不同的字符

连字符( -在这些人物之一的地方表明相应的权限不适用于相应的类。 例如,如果一个文件的基团三元是r-- ,该文件是“只读”,以与该文件相关联的组。

理解读,写,执行

现在你知道如何读取文件的权限,你可能想知道每个权限实际上允许用户做什么。 我们将单独解释每个权限,但请记住,它们通常彼此组合使用,以允许有意义的访问文件和目录。

下面是三种基本权限类型授予用户的访问权限的快速细分。

对于普通文件,读取权限允许用户查看文件的内容。

对于目录,读取权限允许用户查看目录中文件的名称。

对于正常文件,写权限允许用户修改和删除文件。

对于目录,写权限允许用户删除目录,修改其内容(创建,删除和重命名其中的文件),并修改用户可以读取的文件的内容。

执行

对于普通文件,执行权限允许用户执行文件(用户还必须具有读取权限)。 因此,必须为可执行程序和shell脚本设置执行权限,然后用户才能运行它们。

对于目录,执行权限允许用户访问,或横向,成(即cd )和访问元数据目录(即在列出的信息文件ls -l )。

模式(和权限)

现在知道如何读取文件的模式,并了解每个权限的含义,我们将提供一些常见模式的示例,简要说明,将概念集中在一起。

  • -rw------- :一个文件只能由其所有者访问
  • -rwxr-xr-x一个文件,是由系统上的每个用户执行。 一个“世界可执行”文件
  • -rw-rw-rw-一个文件,是由系统上的每个用户开放的修改。 “世界可写”文件
  • drwxr-xr-x一个目录,该系统中的每个用户可以读取和访问
  • drwxrwx--- :目录是修改(包括其内容),由它的所有者和组
  • drwxr-x--- :目录是按组访问

正如你可能已经注意到的,文件的所有者通常享有最多的权限,与其他两个类相比。 通常情况下,你会看到, 其他类只有所有者的权限(相当于或更少)的一个子集。 这是有道理的,因为文件应该仅对于由于特定原因需要访问它们的用户可访问。

另一个要注意的是,即使许多权限组合是可能的,只有某些在大多数情况下是有意义的。 例如, 执行访问几乎总是伴随着访问,因为它很难修改,无法执行,有些东西你无法读取。

修改所有权和权限

为了保持本教程简单,我们不会在这里介绍如何修改文件所有权和权限。 要了解如何使用chownchgrpchmod来完成这些任务,请参阅本指南: Linux权限基础及如何在VPS使用的umask

结论

您现在应该很好地了解所有权和权限在Linux中的工作方式。 如果您想了解有关Linux基础知识的更多信息,强烈建议您阅读本系列中的下一个教程: