find 命令 -perm 后的 4000 或者 2000 是如何匹配的?

来源:3-2 Linux中SetUID(下)

Kennard

2016-08-12 10:20

为什么4000可以匹配4755呢

写回答 关注

3回答

  • 殷正
    2016-08-15 14:07:26
    已采纳

    find  /  -perm +4000   

    匹配过程:

        1.普通文件,文件的权限一般三位,777最高文件权限

                                -perm -0777搜索的就是最高权限的文件rwxrwxrwx

                                -perm +0777搜索的只要包含rwxrwxrwx任意一个的文件

        2.特殊文件,包含权限位置四位,7000为最高,即--s--s--t,同样的方法

                                -perm -7000搜索的就是最高权限的文件--s--s--t

                                -perm +0777搜索的只要包含--s--s--t任意一个的文件,--s --- ---(4000)、--- --s ---(2000)、--- --- --t(1000)等

        自然+4000匹配的就是包含--s --- ---权限的文件,+4755对应的rwsr-xr-x包含了--s --- ---权限,所以4000可以匹配4755呢

                



    永恒宇智波鼬

    补充一下楼主 ,那个对应的是 4000 2000 1000 对应的是 所有者 所属组 其他人 然后那个 -4755 到 +4755 搜索匹配到的是所有者权限为读写执行和suid权限的文件 我也是新手 补充一下楼主的解答

    2016-12-20 09:25:41

    共 2 条回复 >

  • 永恒宇智波鼬
    2016-12-20 09:51:25

    只要有suid 权限的   就会匹配出来  4755 权限也有suid权限  所以就会匹配出来

  • 永恒宇智波鼬
    2016-12-20 09:48:18

    对应那里打错了   4000 2000  1000  对应的是   suid sgid sbit

Linux权限管理之特殊权限

本Linux教程一定会让你对Linux中的权限有更深刻的认识

33276 学习 · 69 问题

查看课程

相似问题