八、文件时间、隐藏属性、特殊权限
1.文件时间
-
使用stat file 查看file的时间信息
-
atime:access time,当文件内容被取用时更新
-
ctime:status/change time,当文件权限,属性,所有者改动时更新
-
mtime:modify time,当文件内容数据改动时更新
1.1 touch:修改文件时间与新建文件 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/270ed0a1588c9bbff6ba8be4a2617b78.png)
- 仅修改访问时间:-a
- 仅修改文件的时间,若文件不存在,不新建:-c
- 修改文件日期:-d
- 仅修改mtime:-m
- 修改文件时间[yymmddhhmm]:-t
2.文件的隐藏属性
2.1 lsattr:查看文件的隐藏属性 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/a9b3dd8882f5270df464d16642722768.png)
- 打印隐藏文件的隐藏属性:-a
- 如果是目录,仅打印目录的信息:-d
- 递归查看文件夹下所有文件的隐藏属性:-R
2.2 chattr:修改文件的隐藏属性 ![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/efdc9a56c6954dc3d823fd39a83a0f47.png)
- 不修改atime:A
- 只能增加数据:a
- 不会被dump程序备份:d
- 文件删除时,直接从磁盘删除:s
- 同步写入:S
- 自动压缩,解压:c
- 不能删除、修改、建立连接:i
- 文件删除时,数据内容存在磁盘中:u
3.文件的特殊权限
名称 | 简称 | 作用对象 | 作用 |
---|---|---|---|
set_uid | suid | 二进制程序文件,非脚本 | 用户在执行该程序时获取程序所有者权限 |
set_gid | sgid | 目录和二进制程序文件 | 用户在该目录里,有效组变为目录所属组 |
sticky bit | sbit | 目录 | 在该目录下,用户只能删除自己创建的内容 |
如果用数字表示特殊权限,则表示特殊权限的数字放在原本三位数字的前面
3.1 suid![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ve5oQGe3-1657696644610)(C:\Users\guqin\AppData\Roaming\Typora\typora-user-images\image-20220704111050308.png)]](https://i-blog.csdnimg.cn/blog_migrate/0fb417a7b8d2ba72b349ba0eb9119631.png)
-
和文件所属者(u)的可执行权限(x)共用一个位置
-
rwsr中的s表示为使用passwd命令时临时拥有所有者权限,这样使用passwd命令修改密码时,它就有权限把修改后的密码同步到shadow中
-
如果rws中的s是小写的,那么原本该文件就存在可执行权限x
-
如果rwS中的S是大写的,那么原本该文件不存在可执行权限x
-
3.2 sgid
- 和文件所属组(g)的可执行权限(x)共用一个位置
- s为小写表示原本存在可执行权限x
- S为大写表示原本不存在可执行权限x
3.3 sbit
- 和其他用户(o)的可执行权限(x)共用一个位置
- t为小写表示原本存在可执行权限x
- T为大写表示原本不存在可执行权限x
3.4 练习
-
在/opt目录下创建Project目录作为项目目录
-
创建一个用户组TestGroup
-
创建两个测试用户TestUser1和TestUser2
-
只能TestUser1,TestUser2,root三个用户和其他TestGroup组的用户才能进入(可执行)该目录,其他用户对这个文件夹没有任何权限
-
TestUser1和TestUser2创建的文件,所属组为TestGroup
-
在此目录下,所有用户只能删除自己创建的文件,root除外