Linux的权限管理和A C M time
来源:互联网 发布:华兴数控编程实例 编辑:程序博客网 时间:2024/06/05 04:01
Linux一切皆文件
Linux文件类型:
1、普通文件(regular file)第一个字符为[ - ]
2、目录(directory): 第一个字符为[ d ]
3、连接文件(link)第一个字符为[ l ]
4、设备和设备文件
块设备文件,即一些存储文件,如硬盘、软盘等,第一个字符为[ b ]
字符设备文件,即一些串行端口的接口文件,如键盘、鼠标等,第一个字符为[ c ]
5、套接字(sockets)第一个字符为[ s ]
还被称为数据接口文件,这种类型的文件通常被用在网络上的数
据连接。我们可以启动一个程序来监听客户端的请求,而客户端就
可以通过数据接口文件来进行数据通信。
6.管道(FIFO,pipe)第一个字符为[ p ]
Linux权限管理
说起权限,我们会想起:一件事情允许不允许被某个人做,允许,就是这个人有权限,不允许,那么就是没有这个权限。
也就是说,主要有两方面:人和属性。在Linux中也是这样的,我们就来看一下这两方面的内容。
1、文件访问者(人)
①、文件拥有者:u即——User
②、文件所属组:g即——Group
③、其他:o即——others
2、基本的权限
①、r:对文件而言,具有读文件的权限;对目录而言,具有浏览目录的权限
②、w:对文件而言,具有修改文件的权限;对目录而言,具有删除、移动目录的权限
③、x:execute对文件而言,具有执行文件的权限;对目录而言,具有进入目录的权限
④、“-”:表示不具有该权限
我们可以通过一些命令来修改权限,只需将用所修改谁的权限加或者减权限即可,不过,最简单的还是通过八进制的方式,没有对比就没有伤害,看:
如图所示:用红线画的是原来的权限,然后通过 chmod u+x file 来修改file的权限,就像蓝线画的,只能一步步来,很麻烦,而通过八进制来修改权限,只需将结果的权限的八进制形式写上去,一步到位。
那么问题来了,如果与一个目录已经存在,那么进入这个目录至少应该有什么权限,创建一个文件,并且能显示文件目录,又有什么权限?
我们先来创建一个目录:dir,然后将目录的所有权限都置成0,即无权限,然后再去进入目录,果然,进不去。我们上面说execute的时候提到:对目录而言,具有进入目录的权限,那么我们将其设置100,这样在去进入目录,发现,可以进去,然后再去touch一个文件,发现“permission denied”拒绝访问。
那么创建一个文件,并且能显示文件目录,又有什么权限?同样我们来试一试。
首先我们回到上一级将 dir 的权限加上写权限,在来touch一个文件,发现,可以创建文件,然后在 ls 看能不能显示出来,发现:拒绝访问,那么我们再回到上一级,吧读权限也加上,再来执行ls命令,我们发现可以显示了。
总结一下: 如果有一个存在的目录,当我们想进入目录的时候,那么至少需要的权限是 x ,当我们想要在目录中创建文件的时候,至少需要的权限是 w和x, 我们同时还想让其显示出来,那么还需要 r 权限。
A C M time
提到ACM我们会想到:ACM程序设计大赛。不过这里的ACM,都指的是时间。下面看一下他们的概念:
1、modify time:最后一次修改文件或目录的时间。
2、change time :最后一次改变文件或目录(改变的是原数据即:属性)的时间。如:记录该文件的 inode 节点被修改的时间。touch 命令除了 -d 和 -t 选项外都会改变该时间。而且chmod,chown等命令也能改变该值。
3、access time:最后一次访问文件或目录的时间
stat 文件名:当我们执行这样一条命令的时候,会出现:
那么,这三个时间的区别都是什么呢?
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的权限管理和A C M time
- A C M time
- Find 指令及 a/c/m -time的用法区别
- 改变哪些时a-time c-time m-time会改变
- linux的权限和用户管理
- Android M权限管理
- Android M权限管理
- Linux的权限管理
- linux的权限管理
- 求n!,C(n,m)和A(n,m)最后的非零位。
- 求n!,C(n,m)和A(n,m)最后的非零位
- linux 用户和权限管理
- linux权限和用户管理
- linux新用户和权限管理
- Linux权限管理和Stat
- Linux-用户组和权限管理
- Linux账号管理和ACL权限管理
- Linux命令文档的管理和权限的使用
- Effective Java读书笔记——第十章 并发
- kettle的基本教程
- 红黑树并没有我们想象的那么难(下)
- RxJava学习笔记整理重点
- JAVA OpenOffice+jodconverter转换WORD为PDF
- Linux的权限管理和A C M time
- 搞懂了CSS实现三角形图标的原理
- swift3 enum
- Spring获取request、session以及servletContext
- C++ 类中的static成员的初始化和特点
- NYOJ-An problem about date(基姆拉尔森公式)
- 教你学会使用WebView与JS交互
- 计算f(n)=1^2+2^2+3^2+.......+n^2.
- 理解C++虚函数的实现