美文网首页Linux 漫游之旅
Linux 文件权限介绍

Linux 文件权限介绍

作者: 错过了过去 | 来源:发表于2019-06-15 16:27 被阅读18次

长期在 Windows 上工作的用户可能对权限没有什么概念,但我想你或多或少遇到过这样的情况,当执行某个程序的时候需要以管理员身份运行,移动、删除、复制某些文件或者目录的时候也提示无法移动,无法复制,无法删除,请使用管理员身份操作等。其实这就是权限,Windows 系统默认登录的是一个普通用户,它还有一个默认的管理员用户叫做 administrator。相信 Windows 的用户也听说过。那么 Linux 系统下的权限是怎么样的呢?今天我们就来一起了解一下 Linux 系统下的权限相关的内容。

1. 用户和用户组

要说清楚 Linux 系统中的权限问题,需要先介绍一下 Linux 下的用户和用户组,我们前面的文章中已经提到过,Linux 系统一般默认有一个超级用户(root),还有一个我们登录系统的普通用户,如果你忘记了可以去看看 Linux 命令行介绍 这篇文章的介绍。为了使每篇文章都足够简单,能够让新入门的人看懂,所以对于用户的添加、删除、修改等具体操作,我将重新写文章介绍。

除了用户外,Linux 系统还有一个用户组的概念,一个用户组中可以包含多个用户,这是为了方便操作系统对用户的集中管理。用户组是用来管理用户的,同样,操作系统也是需要管理用户组的,操作系统管理用户组也涉及用户组的添加、删除和修改。用户组的增加、删除和修改实际上就是对/etc/group文件的更新。我也会单独写文章介绍用户组的管理操作。

2. 文件权限

首先我先介绍几个和文件相关的概念,Linux 下一切皆文件,Linux 的 VFS(Virtual File System)虚拟文件系统就是用来抽象各种设备为文件的。

  • 属主:每个文件都有一个属主,这个属主是一个用户,一般哪个用户创建了文件,那它的属主就是谁,但是是可以修改的。
  • 属组:属组是跟这属主的,一般哪个属主创建了文件,那么用户的属组也是它创建的文件的属组,也是可以修改。
  • 其他组:除了属主和属组外的其他系统用户和用户组都是其他组。

接下来,我们来看看文件的权限。我们打开终端,输入ls -l,如下图:

20190315141851262_2113562488.png

我们拿 -rw-r--r-- 1 elliot elliot 8980 3月 5 18:08 examples.desktop 这一行来解释,其他行都是文件,只有这一个是文件,所以我们先拿它来解释。

文件的权限又四部分组成:

  • 第一部分:第 1 位,有三种取值:普通文件(-)、目录(d),链接(l),这个例子是 - 代表是一个普通文件。
  • 第二部分:第 2-4 位,表示属主的权限:可读(r)、可写(w)、可执行(x),如果对应的位没有权限用 - 表示。
  • 第三部分:第 5-7 位,表示属组的权限,表示方法同属主。
  • 第四部分:第 8-10 位,表示其他组的权限,表示方法同属主。

好了,我们来具体描述一下上面的例子:

  • 第一列:-rw-r--r--,代表这是一个普通文件,属主权限是可读可写不可执行(rw-),数组权限是可读不可写不可执行(r--),其他组权限是可读不可写不可执行(r--)。
  • 第二列:1,代表该文件硬链接数为 1 。注:若是文件则代表该文件的硬链接数。若是目录,则代表该目录下的子目录数。
  • 第三列:当前文件所属的用户名,若该用户被删除,则会显示该用户删除前的用户id。
  • 第四列:当前文件所属的用户组。
  • 第五列:若是文件则代表该文件的大小,若是目录则代表该目录的大小(不包括目录下的子目录和文件的大小)。
  • 第六列:该文件最近修改或者查看的时间。
  • 第七列:文件名称。

最后再来看看如何修改文件的权限吧。先补充一下,在修改权限时会用到 u、g、o,它们分别代表属主、数组、其他组。下面看几个例子来学习修改文件权限吧。

  • 使用 + 和 - 来增加和减少权限,如下图,安装图中的操作试一试吧,我只演示了 u+x 和 o-r,你可以试试其他组合,比如:u+x、o+rw、u+w 等等.
20190315151102713_1867014246.png
  • 使用数字来描述权限,我们可以分别使用一个八进制数字表示属主、属组、其他组的权限。比如:八进制 5 转换成四位二进制是 0101,我们去后三位分别表示 rwx 权限,1 代表有权限,0 代表没有权限,所以八进制 5 代表的权限是 r-x。那么 755 代表的 权限就是 rwxr-xr-x,我们将上图的 1.txt 的权限用数字的方式改一下看看,如下图:
20190315152034724_1475053386.png

现在只需要安装上面的两个方法多加联系,就可以掌握修改文件的权限了,修改目录的权限和修改文件一样,只需要将文件名换成目录名就可以了,要注意的是,如果想把整个目录包括子目录下的所有文件目录都改成某个权限,可以在 chmod 后加上参数 -R。

3. 修改文件属主、数组

先来看图吧,我们根据图中的操作来解释。

20190315153151891_165920347.png

首先,我使用 ````ls -l 1.txt``` 查看了 1.txt 的信息。

  • chown root 1.txt 修改属主为 root 的时候提示拒绝,这里就需要用超级用户执行了,所以我接着使用 sudo chown root 1.txt 就成功修改了文件的属主。
  • sudo chgrp root 1.txt 修改属组为 root。
  • sudo chown elliot:elliot 1.txt 同时修改属主和属组为 elliot,这里注意:属主和属组之间用冒号分隔。

其实就是两个命令,一个是修改属主的,chown,它同时可以修改属组;另一个命令是修改属组的,chgrp。修改目录的属主和属组和修改文件一样,如果要修改目录下说有文件和目录的属主和属组,在命令后面加上 -R 参数就可以了。

对于初学者,知道这些差不多了,如果感兴趣可以深入的研究哦,有什么问题欢迎和我一起讨论。

相关文章

  • 文件和目录权限

    1、Linux权限介绍2、Linux文件属性3、如何改变Linux文件属性权限4、新建文件默认权限 1、Linux...

  • Linux文件权限

    本篇文章主要介绍Linux文件的权限 在介绍Linux文件权限之前,首先介绍Linux中几种角色 拥有者(owne...

  • linux 权限不完全指南

    Linux 权限概述 本文主要介绍linux的: 文件权限 目录权限 默认权限 umask 隐藏权限 lsattr...

  • Linux文件权限管理

    简介 介绍如何在Linux中设置文件的权限 文件权限管理 chmod umask lsattr chattr:

  • 20170724 文件权限

    概要 linux文件权限linux文件特殊权限ACL 访问控制列表 一、linux文件权限 (一)linux文件属...

  • linux文件权限与目录配置

    linux针对文件和目录都有很强的权限控制,这篇文章简单介绍一下 1. linux文件权限介绍 红色框里面的内容就...

  • 【Linux】文件的权限管理

    Linux下文件的权限管理 文章主要从以下几个方面展开介绍: 文件的属性和权限 文件的权限和属性的更改 文件和目录...

  • Linux 文件权限介绍

    长期在 Windows 上工作的用户可能对权限没有什么概念,但我想你或多或少遇到过这样的情况,当执行某个程序的时候...

  • 获取文件权限

    检测linux下文件的权限 检测linux下多个文件的权限

  • 更改linux文件/目录的权限与分组

    chmod命令介绍 Linux 的文件权限可以分成三段,第一列就是文件权限信息。每个文件(任意类型的文件或者文件夹...

网友评论

    本文标题:Linux 文件权限介绍

    本文链接:https://www.haomeiwen.com/subject/vmibfctx.html