文件
文件时间
modification time (mtime)
当前文件的“内容数据”更改时,就会更新这个时间。内容数据指的是文件的内容,而不是文件的属性或权限
status time (ctime)
当该文件的“状态”(status)改变时,就会更新这个时间,举例来说,像是权限与属性被更改了都会更新这个时间
assess time (atime)
当“该文件的内容被取用”时,就会更新这个读取时间(access)。举例来说,我们是用cat去读取/etc/man.config,就会更新该文件的atime了
文件的特殊权限
文件权限除了r、w、x之外还有一些其他的特殊权限,SUID、SGIT、SBIT
设置方式:
4 - SUID
2 - SGID
1 - SBIT
在权限前面加上需要设置的特殊权限,例如chmod 755 改为 chmod 4755
或使用符号设置 SUID为u+s,SGID为g+s,SBIT为o+t。(u代表用户,g代表组,o代表其他)
Set UID – SUID
当s这个标志出现在文件所有者的x权限上时,例如“-rwsr-xr-x”,此时就被称为Set UID,简称SUID的特殊权限。
SUID基本上有这样的限值与功能
· SUID权限仅对二进制程序有效
· 执行者对于改程序需要具有x的可执行权限
· 本权限仅在执行改程序的过程中有效
· 该执行者具有改程序所有者的权限
例子:
在Linux中所有账号密码数据都记录在/etc/shadow这个文件里面,这个文件的权限为“-r--------1 root root”,意思是这个文件仅有root可读且仅有root可以强制写入而已。既然这个文件仅有root可以修改,那么一般账户为什么也能使用“passwd”命令来修改密码呢。这个就是SUID的功能
1. 一般账户对于/usr/bin/passwd这个程序来说具有x权限(passwd的权限为“-rwsr-xr-x”)
2. passwd的拥有者是root这个账户
3. 一般用户执行passwd的过程中,会“暂时”获得root权限
4. /etc/shadow 可以被一般用户所执行的passwd所修改
Set GID – SGID
当s标志在文件所有者的x项目为SUID,那s在用户组的x时则称为Set GID, SGID。例如“-rwx--s--x”
与SUID不同的时,SGID可以针对文件或者目录来设置。如果是对文件来说,SGID有如下的功能
· SGID对二进制程序有用
· 程序执行者对改程序来说,需具备x的权限
· 执行者在执行的过程中将会获得该程序用户组的支持
Sticky Bit – SBIT
SBIT权限仅对目录有效,SBIT对于目录的作用是
· 当用户对于此目录具有w、x权限,即具有写入的权限时
· 当用户在该目录下创建文件或目录时,仅有自己与root才有权利删除该文件
例子:
/tmp目录本身的权限是“drwxrwxrwt”,在这样的权限内容下,任何人都可以在/tmp目录内添加,修改文件,但仅有该文件/目录的创建者与root能够删除自己的目录或文件。