1、基本权限的介绍

(1)权限位的含义

前面讲解ls命令时,我们已经知道长格式显示的第一列就是文件权限的描述,例如:

[root@localhost ~ ] # ls -l install.log
-rw-r--r--. 1 root root 24772 1月 14 18:17 install.log

第一列的权限位如果不计算最后的.(最后的.是在Red Hat 6的版本才开始出现的。表示这个文件是受SELinux保护的。对权限的设置没有影响。),则共有10位,这10位权限位的含义如下图所示:

1)第1位代表文件类型。

Linux不像Windows使用扩展名表示文件类型,而是使用权限位的第1位表示文件类型。

虽然Linux文件的种类不像Windows中那么多,但是分类也不少,详细情况可以使用info ls命令查看。

在这里只讲一些常见的文件类型,如下:

  • -:普通文件。
  • d:目录文件。Linux中一切皆文件,所以目录也是文件的一种。
  • l:软链接文件。
  • b:块设备文件。这是一种特殊设备文件,存储设备都是这种文件,如分区文件/dev/sda1就是这种文件。
  • c:字符设备文件。这也是特殊设备文件,输入设备一般都是这种文件,如鼠标、键盘等。
  • p:管道符文件。这是一种非常少见的特殊设备文件。
  • s:套接字文件。这也是一种特殊设备文件,一些服务支持Socket访问,就会产生这样的文件。

提示:前三种文件个是最为常见。其他格式文件没事不要碰。

2)第2~4位代表文件所有者的权限。

  • r:代表read,是读取权限。
  • w:代表write,是写权限。
  • x:代表execute,是执行权限。

如果有字母,则代表拥有对应的权限;如果是-,则代表没有对应的权限。

3)第5~7位代表文件所属组的权限。

同样拥有r、w、x权限,同上。

4)第8~10位代表其他人的权限。

同样拥有r、w、x权限,同上。

(2)权限的优先级

所有者,所属组,其他用户权限的优先级:

  1. 如果所有者(UID)匹配,用户权限适用。
  2. 否则,如果所属组(GID)匹配,组权限适用。
  3. 如果都不匹配,其它权限适用。

匹配优先级:所有者>所属组>其他用户。

2、权限的基本作用

(1)权限含义的解释

首先,读、写、执行权限对文件和目录的作用是不同的。

1)权限对文件的作用。

  • 读(r):

    对文件有读(r)权限,代表可以读取文件中的数据。

    如果把权限对应到命令上,那么一旦对文件有读(r)权限,就可以对文件执行catmorelessheadtail等文件查看命令。

  • 写(w):

    对文件有写(w)权限,代表可以修改文件中的数据。

    如果把权限对应到命令上,那么一旦对文件有写(w)权限,就可以对文件执行vimecho等修改文件数据的命令。

    注意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件,则需要对文件的上级目录拥有写权限

    说明:

    我们之前说过分区,在root目录下有一个abc文件,abc文件会有自己的i节点,i节点里边存放的是i节点号,时间,权限,位置,与之对应的block块中存放着数据。而abc文件的文件名是存放在他上级目录的block块中的。上级目录的block块中存放着abc文件的文件名和对应的i节点号。

    我对abc文件有写的权限,这个权限是控制abc文件的block块的,所以说对文件中数据有写的权限。而abc文件的文件名是放在上级目录的block块中的,所以也要有上级目录写的权限,才能有对目录的block块中的数据有操作权限,因为abc文件名是root目录的数据,要拥有root目录写的权限,最终才能删除abc文件。

    如下图:

  • 执行(x):

    对文件有执行(x)权限,代表文件拥有了执行权限,可以运行。

    在Linux中,只要文件有执行(x)权限,这个文件就是执行文件了。

    这个文件到底能不能正确执行,不仅需要执行(x)权限,还要看文件中的代码是不是正确的语言代码。

    对文件来说,执行(x)权限是最高权限

2)权限对目录的作用。

  • 读(r):

    对目录有读(r)权限,代表可以查看目录下的内容,也就是可以查看目录下有哪些子文件和子目录。

    如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可以在目录下执行ls命令,查看目录下的内容了。
  • 写(w):

    对目录有写(r)权限,代表可以修改目录下的数据,也就是可以在目录中新建、删除、复制、剪切子文件或子目录。

    如果把权限对应到命令上,那么一旦对目录拥有了写(w)权限,就可以在目录下执行touchrmcpmv命令

    对目录来说,写(w)权限是最高权限
  • 执行(x):

    目录是不能运行的,那么对目录拥有执行(x)权限,代表可以进入目录。

    如果把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行cd命令,进入目录。(也就是执行权限对于目录来讲没有危险)

(2)目录权限说明

目录的可用权限其实只有以下几个:

  • 0:任何权限都不赋予。
  • 5:基本的目录浏览和进入权限。
  • 7:完全权限。

因为给目录只赋予读的权限是没有意义的,也就是4。因为你要现有执行权限才能进入到目录里,才有查看目录的操作,也就是4+1

注意:自己做实验的时候不要用root用户,用普通用户进行操作。

『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用的更多相关文章

  1. 『学了就忘』Linux基础命令 — 20、文件操作的相关命令

    目录 1.touch 命令 2.stat命令 3.cat命令 4.more命令 5.less命令 6.head命令 7.tail命令 1.touch 命令 touch命令用于创建空文件或修改文件时间, ...

  2. 『学了就忘』Linux基础命令 — 22、Linux中的硬链接和软链接

    目录 1.文件和目录的基本存储 2.In命令介绍 (1)我们来看看ln命令的基本信息 (2)ln命令的基本格式 3.创建硬链接 (1)如何创建硬链接 (2)硬链接特征 (3)硬连接原理 4.创建软链接 ...

  3. 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令

    目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...

  4. 『学了就忘』Linux基础命令 — 26、帮助命令

    目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...

  5. 『学了就忘』Linux基础命令 — 28、别名和常用快捷键

    目录 1.别名 2.常用快捷键 1.别名 别名也是Shell中的命令. 命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的. 命令格式: # 查询系统中命令别名 [root@localhost ...

  6. 『学了就忘』Linux基础命令 — 30、find命令详细说明

    目录 1.find命令的基本信息 2.find命令基本使用 3.按照文件大小搜索 4.按照修改时间搜索 5.按照权限搜索 6.按照所有者和所属组搜索 7.按照文件类型搜索 8.逻辑运算符 (1)-a: ...

  7. 『学了就忘』Linux基础命令 — 32、压缩和解压缩相关命令

    目录 1.".zip"格式压缩 2.".gz"格式压缩 3.".bz2"格式压缩 4.".tar"格式打包 5.打包和压 ...

  8. 『学了就忘』Linux基础命令 — 25、文件基本权限的管理

    目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...

  9. 『学了就忘』Linux基础命令 — 18、Linux命令的基本格式

    目录 1.命令提示符说明 2.命令的基本格式 (1)举例ls命令 (2)说明ls -l命令的 输出内容 1.命令提示符说明 [root@localhost ~] # []:这是提示符的分隔符号,没有特 ...

随机推荐

  1. CURL的模拟登录和抓取页面

    <?php $curl = curl_init();// 初始化 // 准备提交的表单数据之账号和密码.(这个是根据表单选项来的) $data = "_username=6049892 ...

  2. Jmeter系列(11)- 自动化压力测试逻辑思路及例子

    为什么需要进行自动化压力测试 手动逐步加压,需要人工改变并发数,还要等待.所有,我们完全可以制定好策略,让程序自动加压,自动等待,输出报告 实现思路 Jmeter脚本(.jmx文件)- 压测逻辑 Sh ...

  3. JavaScript进阶面向对象ES6

    类和对象 对象:万物皆对象,对象是一个具体的事物,看得见摸得着的实物 对象是由属性和方法组成的: 属性:事物的特征,再对象中用属性来表示(常用名词) 方法:事物的行为,再对象中用方法来表示(常用动词) ...

  4. 安装VM-TOOLS,解压tar包时提示目录磁盘空间不足

    在虚拟机里安装了ubuntu-18.04.4-desktop-amd64,安装VM-TOOLS,解压tar包时提示目录磁盘空间不足. 解决方法一: 打开terminal,输入:sudo apt ins ...

  5. sql case when 多条件小结

    sql case when 多条件 小结 -- 第一种 格式 : 简单Case函数 : -- 格式说明 -- case 列名 -- when 条件值1 then 选择项1 -- when 条件值2 t ...

  6. MySQL强人“锁”难《死磕MySQL系列 三》

    系列文章 一.原来一条select语句在MySQL是这样执行的<死磕MySQL系列 一> 二.一生挚友redo log.binlog<死磕MySQL系列 二> 前言 最近数据库 ...

  7. 峰值利用率80%+,视频云离线转码自研上云TKE实践

    作者 刘兆瑞,腾讯云高级研发工程师,负责腾讯明眸极速高清,画质重生等产品.专注于codec优化,画质增强等技术. 背景和问题 随着流量资费的降低和带宽的增加,视频成为人们获取信息越来越重要的方式,随之 ...

  8. Redis缓存穿透、缓存击穿、缓存雪崩的介绍及其解决方案

    首先,来画一张图了解下缓存处理的流程 一.缓存穿透 描述: 缓存穿透是指缓存和数据库中都没有的数据,而用户不断发起请求查询该数据,导致数据库压力过大. 解决方案: 1.接口校验 如鉴权校验.数据合法性 ...

  9. 洛谷3809 SA模板 后缀数组学习笔记(复习)

    其实SA这个东西很久之前就听过qwq 但是基本已经忘的差不多了 嘤嘤嘤 QWQ感觉自己不是很理解啊 所以写不出来那种博客 QWQ只能安利一些别人的博客了 小老板 真的是讲的非常好 不要在意名字 orz ...

  10. 初入CTF(封神榜第一关)

    注:网址中的%20是空格的意思 1判断是否存在注入点 构造?id=1 and 1=1(不报错) 构造?id=1 and 1=2(报错或者不显示内容) 报错说明and后面的语句被识别 2判断回显字段的长 ...