suid(setuid)
让普通用户临时拥有该文件属主的执行权限
suid权限用s表示,增加权限u+s,移除权限u-s。
数字4
1.在root用户上查看/etc/passwd的文件权限(644) [root@localhost ~]# ls -l /etc/passwd -rw-r--r--. 1 root root 2186 10月 7 14:19 /etc/passwd 2.切换到user1用户,并使用cat查看(此时可以查看) [user1@localhost ~]$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 3.使用root用户修改/etc/passwd权限为640 [root@localhost ~]# chmod u+s /etc/passwd 4.再次切换到user1用户使用cat命令查看(此时无法查看并显示权限不够) [user1@localhost ~]$ cat /etc/passwd cat: /etc/passwd: 权限不够 5.因为是使用cat命令查看,所以找到cat的二进制文件路径 [root@localhost ~]# which cat /usr/bin/cat 6.使用root用户为cat文件一个suid的权限 [root@localhost ~]# chmod u+s /usr/bin/cat 7.此时user1再次使用cat命令(可以查看) [user1@localhost ~]$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin
sgid(setgid)
sgid权限一般使用在目录上,当一个目录拥有sgid权限时,任何用户在该目录上创建的属组都会继承该目录的属组。
数字2
1.在root用户上查看/etc/passwd的文件权限(644) [root@localhost ~]# ls -l /etc/passwd -rw-r--r--. 1 root root 2186 10月 7 14:19 /etc/passwd 2.切换到user1用户,并使用cat查看(此时可以查看) [user1@localhost ~]$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 3.使用root用户修改/etc/passwd权限为640 [root@localhost ~]# chmod u+s /etc/passwd 4.再次切换到user1用户使用cat命令查看(此时无法查看并显示权限不够) [user1@localhost ~]$ cat /etc/passwd cat: /etc/passwd: 权限不够 5.因为是使用cat命令查看,所以找到cat的二进制文件路径 [root@localhost ~]# which cat /usr/bin/cat 6.使用root用户为cat文件一个guid的权限 [root@localhost ~]# chmod g+s /usr/bin/cat [root@localhost ~]# ls -l /usr/bin/cat -rwxr-sr-x. 1 root root 54080 4月 11 2018 /usr/bin/cat 7.此时user1再次使用cat命令(可以查看) [user1@localhost ~]$ cat /etc/passwd root:x:0:0:root:/root:/bin/bash bin:x:1:1:bin:/bin:/sbin/nologin daemon:x:2:2:daemon:/sbin:/sbin/nologin 1.创建文件和目录 [root@localhost ~]# mkdir /test1 [root@localhost ~]# touch /test1/qq.txt 2、此时文件和目录都属于root [root@localhost ~]# ls -ld /test1/ drwxr-xr-x. 2 root root 20 11月 30 10:15 /test1/ [root@localhost ~]# ls -ld /test1/qq.txt -rw-r--r--. 1 root root 0 11月 30 10:15 /test1/qq.txt 3、给目录添加sgid权限 root@localhost ~]# chmod g+s /test1/ root@localhost ~]# chown :user1 /test1 4、再次查看文件和目录的所属,(目录所属更改,但文件所属并未更改) [root@localhost ~]# ls -ld /test1/ drwxr-sr-x. 2 root user1 20 11月 30 10:15 /test1/ [root@localhost ~]# ls -ld /test1/qq.txt -rw-r--r--. 1 root root 0 11月 30 10:15 /test1/qq.txt 5、再在目录下面创建新文件会发现文件所属关系被继承了 [root@localhost ~]# touch /test1/wx.txt [root@localhost ~]# ls -ld /test1/wx.txt -rw-r--r--. 1 root user1 0 11月 30 10:21 /test1/wx.txt