Linux 下的权限与 ACM
来源:互联网 发布:淘宝退款卖家一直拒绝 编辑:程序博客网 时间:2024/06/06 03:31
首先,我们要明确在Linux下的一个概念:一切皆文件;
那么Linux下的文件类型有什么呢?
1.普通文件类型 [-]开头
2.目录类型 [d]开头
3.连接文件 第一个字符为[ l ]
4、设备和设备文件
块设备文件,即一些存储文件,如硬盘、软盘等,第一个字符为[ b ]
字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等,第一个字符为[ c ]
5、套接字 第一个字符为[ s ]
还被称为数据接口文件,这种类型的文件通常被用在网络上的数
据连接。我们可以启动一个程序来监听客户端的请求,而客户端就
可以通过数据接口文件来进行数据通信。
6.管道 第一个字符为[p]
那么现在我们来谈一谈什么是权限
权限:顾名思义,指的是一个事物能够干什么,或者能够被怎么样
那么Linux下的文件权限是怎么安排的呢,我们一起来看一看:
如图所示,提到了几个名词,我先来解释一下:
1.文件拥有者 : user 也就是文件的直系主人
2.文件所属组 :group 文件被共享的用户群体
3.其他: other 除了上面的以外其他的用户
4.所在用户: 也就是文件的所属地
在这里我们还要再引入三个概念:
1.可读: read
2.可写: write
3.可执行 : x
那我们可以看到无论是文件拥有者,文件所属组还是其他都有这三个特性,很明显可以看到对于名为dir这个目录来说,文件拥有者具有对他读写执行的权限,文件所属组对他具有读写执行的权限,其他用户对他只有读和执行的权限;同理其他三个文件我们也可以理解了。
那这里引入这个的概念是为了什么呢?
因为我们有些文件创建之后有些权限我们想要修改,所以就要理解他的构成结构,下来我们谈谈如何来修改
chmod:这里提到两种修改格式
第二种方法再次声明一下:rwx 作为一个二进制序列 存在取1 不存在取0 那么总共有8种权限的构成 组成的8进制也就是从0-7
那么这里我们是不是可以想到创建各种文件的基础权限跟什么有关?
那让我们再看看吧
这里我们引入一个新的指令 umask 用来查询和改变 默认权限
首先我们可以看到输入umask Linux的默认权限为0002(默认权限跟机器有关系),第一个0抛开不看,002代表的就是拥有者,所属组,其他的权限,用8进制代替,其中普通文件的默认基础权限为666,目录文件的默认基础权限为777。
而系统默认权限我们可以理解为再做减法 666-002得到的是664 也就是110 110 100 ,图中我们也可以看到普通文件创建之后的权限就是110 110 100;777-002得到的是775 也就是111 111 101 ,同种我们也可以看到目录文件创建之后的权限就是111 111 101;
但其实这里不是真正的在做减法
比如普通文件的默认基础权限是666 也就是110 110 110 ,当我们将系统默认权限改成003的时候,我们会发现普通文件创建之后的权限还是110 110 100,这是因为做的不是数学意义上的减法。这样理解 ,普通文件的默认基础权限是是110 110 110 ,也就是对于三个“人”来说都是可读可写的,而003则是000 000 011,也就是对于其他用户是可写可执行的,但是110 110 110 中是没有可执行的,所以在做减法的时候就是将文件默认基础权限中所有的权限减去,比如下面这样
将umask改为022(000 010 010),那么对于普通文件666(110 110 110),创建之后的普通文件的权限就应该是644(110 100 100),我们一看,果然如此。
下来我们看看ACM
1、M modify time:最后一次修改文件或目录的时间。
2、C change time :最后一次改变文件或目录(改变的是原数据即:属性)的时间。如:记录该文件的 inode 节点被修改的时间。touch 命令除了 -d 和 -t 选项外都会改变该时间。而且chmod,chown等命令也能改变该值。
3、A access time:最后一次访问文件或目录的时间
1、Access是指“访问时间”
对于文件来说,当我们用编辑器打开file,或使用cat more less grep sed 等等命令读取文件内容,以及使用file cp命令操作文件,或执行可执行文件时,Access时间会被更新,空文件也不例外。
对于目录来说,只进入目录不会更新其Access时间,但是通过ls查看目录内容时,Access时间就会更新。使用ls -lu查看文件时,会显示出来文件的Access时间。
2、Modify是指“更改时间”
当更改一个文件的内容时,此文件的modify时间记录会被更新。Modify时间更新时,Access和Change时间都会得到相应的更新。用ls -l看到的时间是文件的Modify时间
3、Change是指“改变时间”
主要是指文件的状态或属性的改变。对一个文件或目录进行mv chown chcgrp等操作后,change 时间会更新。ls -lc显示的是change time
- Linux 下的权限与 ACM
- Linux下的权限管理和ACM时间
- Linux下的文件属性与权限 日期
- Linux下的网络访问与权限
- Linux目录文件权限与ACM时间
- Linux下的文件权限与目录权限
- Linux下的文件权限与目录权限
- linux目录的权限以及ACM时间
- linux下的权限
- Linux下的权限
- Linux下的权限
- linux下的权限
- Linux下的目录文件权限问题和ACM时间问题
- Linux下ACM时间含义及权限修改
- linux下档案和目录的权限与属性
- linux下的文件权限与目录配置
- linux下的目录详解与文件夹权限更改
- Linux下的权限管理与相关时间概念
- shader学习基础之十关于颜色的详解,与shader后期调色的实现
- android CoordinatorLayout使用
- Android进程间通信之Messenger
- MVC编程实例----简易电子商务网站(一)
- 网易云课堂 Linux内核分析(五)
- Linux 下的权限与 ACM
- Java内存管理与反射机制
- UML之部署图
- 视频画中画的实现(窗口剪裁)
- LeetCode:First Missing Positive
- hawk爬虫工具
- 网站安全之设置HttpOnly的方法
- 一篇博客解决Linux下的Vim痛苦
- 线性表的链式存储结构