Linux学习笔记——基本权限的解析

刚学习Linux的我认为权限挺好分辨的,不就是读写和执行吗。后来发现这里面还是有很多我不理解的知识的。
在说明权限之前,要先了解Linux的ext文件系统。在ext文件系统中,我们格式化的同时会把分区大体分成两类:一部分是占用空间较小,用于保存inode信息的;另一部分是占了大部分空间的block(数据块),用于保存文件中的实际数据。在Linux中inode的大小默认是128Byte,用于记录文件的权限(r、w、x)、文件的所有者和属性、文件的大小、文件的状态改变时间(ctime)、文件的最近一次读取时间(atime)、文件的 最近一次修改时间(mtime),文件中的数据真正保存的block编号(用stat指令可以查看这些信息)。每个文件需要占用一个inode。
EXT4

首先来看文件的权限:

  • 读(r)权限:对文件来说,如果对文件拥有读权限,也就代表我们能够读取文件中的数据。如果把权限对应到命令上,也就是说一旦有(r)权限,就可以对文件执行cat、more、less、head、tail等文件查看命令。
  • 写(w)权限:对文件来说,如果对文件拥有写权限,也就代表我们能够修改文件中的数据。如果把权限对应到命令上,也就是说一旦有(w)权限,就可以对文件执行vim、echo等修改文件数据的命令。
  • 执行(x)权限:对文件来说,如果文件拥有执行权限,就表示这个文件可以运行。至于文件能不能正常执行,还要看文件中的代码是不是正确的语言代码。对文件来说,执行(x)权限是最高权限。
    (即使我们对文件拥有所有的权限,也不代表我们能够删除文件或者修改文件名等修改文件信息的操作。里面的猫腻在目录的权限中。)

目录的权限:

  • 读(r)权限:对目录来说,如果对目录拥有读权限,也就代表我们能够查看目录下有哪些子文件和子目录。如果把权限对应到命令上,那么一旦对目录拥有了读(r)权限,就可以对目录执行ls命令查看目录下的内容。(其实并没有这么简单)
  • 写(w)权限:对目录来说,如果对目录拥有写权限,也就代表我们能够在目录的block中填写内容(也就是能在目录中新建、删除、复制、剪切子文件或子目录)。如果把权限对应到命令上,那么一旦对目录拥有了写(w)权限,就可以在目录下执行touch、rm、cp、mv命令。对目录来说,写(w)权限是最高权限。(对应上面的文件权限,想要删除文件或者修改文件的文件名就需要对上一级目录拥有写(w)权限)
  • 执行(x)权限:因为目录是不能运行的,所以对目录来说,拥有执行(x)权限就代表能够进入目录。如果把权限对应到命令上,那么一旦对目录拥有了执行(x)权限,就可以对目录执行cd命令进入目录。
    上面讲的只是理论上的,实际上如果我们对一个目录没有执行(x)权限,那么其他权限的功能也会收到影响。就好比:我们要读取目录下的文件,如果我们连目录都进不去要怎么读呢?所以目录的可用权限只有几个:
  • 0:任何权限都不赋予。
  • 5:基本的目录浏览和进入权限。
  • 7:完全权限。

说得再多也不如做个实验有意义!
实验1实验二

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值