『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用
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)权限的优先级
所有者,所属组,其他用户权限的优先级:
- 如果所有者(UID)匹配,用户权限适用。
- 否则,如果所属组(GID)匹配,组权限适用。
- 如果都不匹配,其它权限适用。
匹配优先级:所有者>所属组>其他用户。
2、权限的基本作用
(1)权限含义的解释
首先,读、写、执行权限对文件和目录的作用是不同的。
1)权限对文件的作用。
读(
r
):
对文件有读(r
)权限,代表可以读取文件中的数据。
如果把权限对应到命令上,那么一旦对文件有读(r
)权限,就可以对文件执行cat
、more
、less
、head
、tail
等文件查看命令。写(
w
):
对文件有写(w
)权限,代表可以修改文件中的数据。
如果把权限对应到命令上,那么一旦对文件有写(w
)权限,就可以对文件执行vim
、echo
等修改文件数据的命令。
注意:对文件有写权限,是不能删除文件本身的,只能修改文件中的数据。如果要想删除文件,则需要对文件的上级目录拥有写权限。说明:
我们之前说过分区,在
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
)权限,就可以在目录下执行touch
、rm
、cp
、mv
命令。
对目录来说,写(w
)权限是最高权限。 - 执行(
x
):
目录是不能运行的,那么对目录拥有执行(x
)权限,代表可以进入目录。
如果把权限对应到命令上,那么一旦对目录拥有了执行(x
)权限,就可以对目录执行cd
命令,进入目录。(也就是执行权限对于目录来讲没有危险)
(2)目录权限说明
目录的可用权限其实只有以下几个:
- 0:任何权限都不赋予。
- 5:基本的目录浏览和进入权限。
- 7:完全权限。
因为给目录只赋予读的权限是没有意义的,也就是4。因为你要现有执行权限才能进入到目录里,才有查看目录的操作,也就是
4+1
。
注意:自己做实验的时候不要用
root
用户,用普通用户进行操作。
『学了就忘』Linux基础命令 — 23、文件基本权限的介绍和作用的更多相关文章
- 『学了就忘』Linux基础命令 — 20、文件操作的相关命令
目录 1.touch 命令 2.stat命令 3.cat命令 4.more命令 5.less命令 6.head命令 7.tail命令 1.touch 命令 touch命令用于创建空文件或修改文件时间, ...
- 『学了就忘』Linux基础命令 — 22、Linux中的硬链接和软链接
目录 1.文件和目录的基本存储 2.In命令介绍 (1)我们来看看ln命令的基本信息 (2)ln命令的基本格式 3.创建硬链接 (1)如何创建硬链接 (2)硬链接特征 (3)硬连接原理 4.创建软链接 ...
- 『学了就忘』Linux基础命令 — 24、文件基本权限的相关命令
目录 1.chmod命令 2.权限模式 (1)用户身份. (2)赋予方式. (3)权限. 3.数字权限 4.文件常用权限 5.chown命令 6.chgrp命令 7.总结 常用基本权限操作命令: ch ...
- 『学了就忘』Linux基础命令 — 26、帮助命令
目录 1.man命令 (1)man命令的快捷键 (2)man命令的帮助级别(了解即可) (3)man命令的使用 2.info命令 3.help命令 4.--help选项 1.man命令 man是最常见 ...
- 『学了就忘』Linux基础命令 — 28、别名和常用快捷键
目录 1.别名 2.常用快捷键 1.别名 别名也是Shell中的命令. 命令的别名,就是命令的小名,主要是用于照顾管理员使用习惯的. 命令格式: # 查询系统中命令别名 [root@localhost ...
- 『学了就忘』Linux基础命令 — 30、find命令详细说明
目录 1.find命令的基本信息 2.find命令基本使用 3.按照文件大小搜索 4.按照修改时间搜索 5.按照权限搜索 6.按照所有者和所属组搜索 7.按照文件类型搜索 8.逻辑运算符 (1)-a: ...
- 『学了就忘』Linux基础命令 — 32、压缩和解压缩相关命令
目录 1.".zip"格式压缩 2.".gz"格式压缩 3.".bz2"格式压缩 4.".tar"格式打包 5.打包和压 ...
- 『学了就忘』Linux基础命令 — 25、文件基本权限的管理
目录 1.文件和目录的默认权限 2.umask默认权限 (1)查看系统的umask权限 (2)用八进制数值显示umask权限 (3)umask权限的计算方法 (4)注意:umask默认权限的计算绝不是 ...
- 『学了就忘』Linux基础命令 — 18、Linux命令的基本格式
目录 1.命令提示符说明 2.命令的基本格式 (1)举例ls命令 (2)说明ls -l命令的 输出内容 1.命令提示符说明 [root@localhost ~] # []:这是提示符的分隔符号,没有特 ...
随机推荐
- 让PHP能够调用C的函数-FFI扩展
在大型公司中,一般会有很我编程语言的配合.比如说让 Java 来做微服务层,用 C++ 来进行底层运算,用 PHP 来做中间层,最后使用 JS 展现效果.这些语言间的配合大部分都是通过 RPC 来完成 ...
- css定位:p:nth-child(n)
p:nth-child(n) 定位p标签下的第一个元素,下标从1开始. 首先是一个标签下有多个相同的元素. 如index_service_cnt js_service_list下有多个class=&q ...
- Windows环境下实现WireShark抓取HTTPS
https 加密传输,Wireshark 没有设置的情况下是没有办法抓到包的 https 的数据包. 设置系统环境变量(SSLKEYLOGFILE) WireShark 设置 SSL 选项 参考文章: ...
- 详细的vsftpd配置
环境:CentOS 5.0 操作系统一.安装:1.安装Vsftpd服务相关部件:[root@KcentOS5 ~]# yum install vsftpd*Dependencies Resolved= ...
- python-requests包请求响应时间
p.p1 { margin: 0; font: 14px "Helvetica Neue"; color: rgba(17, 17, 17, 1) } p.p2 { margin: ...
- P3348-[ZJOI2016]大森林【LCT】
正题 题目链接:https://www.luogu.com.cn/problem/P3348 题目大意 有\(n\)棵树开始只有一个编号为\(1\)的节点且为标记点.\(m\)次操作要求支持 在\(l ...
- IE浏览器设置兼容性
因为IE浏览器不兼容高版本的Jquery.Bootstrap等JS框架,导致页面在Google浏览器和在IE的显示完全不一样,所以需要对页面进行兼容性设置 <!--设置兼容性--> < ...
- python接口自动化--json解析神器jsonpath
前言 做接口测试的时候,大部分情况下返回的是json数据,我们需要对返回的json断言. 当返回的数据量比较大,并且嵌套的层级很深的时候,很多小伙伴不会取值,往往在返回结果取值上浪费很多时间.一直在寻 ...
- Vite插件开发纪实:vite-plugin-monitor(下)
前言 上一篇介绍了Vite启动,HMR等时间的获取. 但各阶段详细的耗时信息,只能通过debug的日志获取 本文就实现一下debug日志的拦截 插件效果预览 --debug做了什么 项目启动指令 vi ...
- 位运算符的用法 ----非(!),与(&),或(|),异或(^)
位运算符的用法 ----非(!),与(&),或(|),异或(^) 三种运算符均针对二进制 非!:是一元运算符.对一个二进制的整数按位取反,输入0则输出1,输入1则输出0. 例: 0100 -( ...