要讲到suid提权的话,首先应该就要非常清楚地知道linux中文件权限的相关问题。
在linux系统上有着非常严格的权限控制,如果想对某个文件执行某种操作的话,必须具有对应的权限方可执行成功。
linux下的文件的权限类型一般包括读、写、执行。对应的字母为r、w、x。
linux下权限有三种分组分别为拥有者、群组、其他组。每个文件都可以针对这三个组,设置不同的rwx(读写执行)权限。
在Linux中如何去理解一个文件的所有权限详情:有两种方式
第一种(常见):用十位二进制表示法,(三个组每个使用二进制位,再加一个最高位共十位),可以化简为三位八进制形式。
第二种:十二位二进制表示法(十二个二进制位),可简化为四位八进制形式)
先来看看十位权限表示:
-rw------- (600) 只有拥有者有读写权限。
-rw-r--r-- (644) 只有拥有者有读写权限;而属组用户和其他用户只有读权限。
-rwx------ (700) 只有拥有者有读、写、执行权限。
-rwxr-xr-x (755) 拥有者有读、写、执行权限;而属组用户和其他用户只有读、执行权限。
-rwx--x--x (711) 拥有者有读、写、执行权限;而属组用户和其他用户只有执行权限。
-rw-rw-rw- (666) 所有用户都有文件读、写权限。
-rwxrwxrwx (777) 所有用户都有读、写、执行权限。
分析:最前面的一个‘-’就是所谓的最高位。有时候这一位上显示的是字母‘d’,表示的是目录文件,在这之后的每三个表示一个组,分别为user(用户组)、(群组)、(其他用户组)&