ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux-2 文件基本权限的介绍和作用

2022-03-18 19:36:53  阅读:212  来源: 互联网

标签:文件 执行 代表 abc Linux 权限 目录


2 文件基本权限的介绍和作用

2.1、基本权限的介绍

(1)权限位的含义

前面说的ls -l xx.txt或者 ll 命令时,就已经知道长格式显示的第一列就是文件权限的描述,例如:

ubuntu@ubuntu-HP-Z4-G4-Workstation:~$ ll
-rw-r--r--.  1 root   root   12288 3月  15 19:24 1.txt

第一列不计算., 则共有10位,这10位权限的含义如下:【最后的点,是在red hat 6 的版本才出现的,表示这个文件是受SELinux保护的的,对权限的设置没有影响】

-          rw-        r--  	r--
类型    所属用户权限   所属组权限  其他用户权限
							 
第一位:   文件类型:【d目录,-普通文件,l链接文件】
第2~4位: 所属用户权限,用u(user)表示
第5~7位: 所属组权限,用g(group)表示
第8~10位:其他用户权限,用o(other)表示
第2~10位:表示所有的权限,用a(all)表示

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.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文件。
如下图:

image-20220318160656733
  • 执行(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用户,用普通用户进行操作。

标签:文件,执行,代表,abc,Linux,权限,目录
来源: https://www.cnblogs.com/a438842265/p/16023251.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有