当前位置:首页>Linux>Linux 权限详解:基础权限 + 特殊权限 + ACL权限 一网打尽

Linux 权限详解:基础权限 + 特殊权限 + ACL权限 一网打尽

  • 2026-02-04 23:07:18
Linux 权限详解:基础权限 + 特殊权限 + ACL权限 一网打尽
作为开发人员,Linux 服务器的文件权限是绕不开的核心基础技能——它看似轻量易懂,实则是服务稳定部署、系统安全运行的底层支柱。唯有充分掌握这一基础技术点,才能从容应对日常开发,本文主要从四种权限切入解析。
  • 基础文件权限 4-2-1 数字表示法
  • ACL(Access Control List)权限
  • SUID、SGID、SBIT 权限
  • 文件系统属性chattr权限
重点部分Linux基础的 4、2、1 权限和功能强大的ACL权限。前置工作先扫清十进制与二进制相互转换问题,因为接下来 4、2、1 权限示例会涉及该转换。
一、生活中的进制都有哪些?
进制看似很抽象的概念实则就存在生活当中,每个人都在熟练的应用它,只不过用的太习以为常就没有留意。
例如:60秒1分钟、60分钟1小时 就是60进制,24小时1天 就是24进制,7天1周 就是7进制,12个月1年 就是12进制。
十进制每一位计数满 10 就向高位进 1,每一位取值范围 0 到 9
二进制每一位计数满 2 就向高位进 1,每一位取值范围 0 到 1
二、具体示例二进制与十进制互换
  • 二进制 0 → 十进制 0
  • 二进制 1 → 十进制 1
  • 二进制 10 → 十进制 2
  • 二进制 11 → 十进制 3
  • 二进制 100 → 十进制 4
  • 二进制 101 → 十进制 5
  • 二进制 110 → 十进制 6
  • 二进制 111 → 十进制 7
  • 二进制 1000 → 十进制 8
  • 二进制 1001 → 十进制 9
  • 二进制 1010 → 十进制 10
  • 二进制 1011  → 十进制 11
上面二进制与十进制互换是怎么计算出来的呢?
只要记住我下面这几个数字就可以秒算上面的👆🏻二进制与十进制互换
第一步、先记住下面8个数字
128  64  32  16  8  4  2  1
记住最右侧 1 然后从右往左,当前位是前一位乘以 2
第二步、拆分对位与加和运算
二进制 10 转十进制是多少呢?拆分如下:
128  64  32  16  8  4  2  1                       1  0
第一行为十进制数,第二行为二进制数
从右往左上下对齐,
与第二行 0 对齐的十进制数舍弃,
只保留与第二行 1 对齐的十进制数并加和,
因此二进制 10 转十进制就是 2

128  64  32  16  8  4  2  1                    1  0  1
上面二进制 101 与十进制 4、2、1 对齐,与 0 对齐的舍弃最终为 4+1=5,所以二进制 101 转十进制就是 5

128  64  32  16  8  4  2  1                 1  0  0  1
二进制 1001 对应的是 8+1=9 所以二进制 1001 转十进制就是 9

那么如果说二进制位数超出 8 个怎么办呢?继续向左扩充
2048  1024  512  256  128  64  32  16  8  4  2  1      1     0    1    1    0   1   0   1  1  1  0     
二进制 10110101110 转十进制就是 1024+256+128+32+8+4+2=1454
怎么样这个方法是不是比硬啃公式简单易懂得多?相信看到这里,就算从事非计算机工作的你,也能快速掌握。

那么反过来十进制转二进制怎么办呢?还是看这 8 个数字
128  64  32  16  8  4  2  1                       1  0
128  64  32  16  8  4  2  1                    1  0  1
128  64  32  16  8  4  2  1                 1  0  1  1
十进制转二进制:还是这 8 个数做和凑值,保留位,标记为 1,舍弃位,标记为 0,标记后的数字串就是转换后的二进制。
因此十进制 2 转二进制为 10,十进制 5 二进制为 101,十进制 11 二进制为 1011
上面计算方法,适合比较小的数值口算不但方便而且还易于理解。相较于传统的公式就显得没那么复杂生硬。
十进制与二进制互换之所以再次提及,一方面是下文会用到另一方面是有小伙伴说,看不懂字符编码轻松学Base64从原理到手搓 里面涉及的二进制转换,因此就借着讲权限这个机会做进一步的补充。
主流开发语言都支持进制之间的转换计算,这里我给出shell的转换方式。
十进制转二进制如下:
十进制转十六进制如下:
二进制转十进制如下:
二进制转十六进制如下:
甚至你可以转不常用的进制
九进制转四进制
三、Linux文件权限的 4-2-1 数字表示法
3.1、文件基础属性

上图中 1 是文件类型具体如下

  • s 套接字

  • b 块

  • c 字符

  • d 文件夹

  • l 软连接

  • - 普通文件

上图中 5 是文件归属人,2 是归属人拥有的权限。

上图中 6 是文件归属组,3 是归属组拥有的权限。

上图中 4 是除了 5 和 6 以外的其他人权限。

他们分别由 r(读)、w(写)、x(执行)三类基础权限构成,每类权限对应固定数字权值:r=4w=2x=1。通过权值相加,可快速组合出不同的权限配置(如 rwx=7rw-=6r--=4)。

r(读)、w(写)、x(执行)对应操作命令如下所示

3.2、为什么用 4、2、1 来代表执行写入和读取呢?

这里有几个重要的原因:

  • 取 4、2、1 任何两个数的加和得到的值,都不与 4、2、1 这几个数重合(确保值唯一性来源)

  • 高位恒定为 1 的设计(4→100、2→10、1→1),正是位运算掩码的典型特征,方便二进制,按位与(&)、按位或(|)、按位非(~)、按位异或(^) 运算(用于权限判存、追加和删除)

  • 2⁰=1、2¹=2、2²=4 方便日后扩充

例如:

chmod 500 file1.logchmod 600 file2.logchmod 700 file3.log

权限 5 一定是由 1 和 4 得来的(文件归属人拥有读和执行权限)

权限 6 一定是由 2 和 4 得来的(文件归属人拥有读和写权限)

权限 7 一定是由 1、2 和 4 得来的(文件归属人拥有读、写和执行权限)

这样单凭一个数值就可以判断,权限是由哪几种组合的

既如此,系统又是怎么知道这个数值,具体包含了 4、2、1 当中哪几个呢?

具体示例:修改 file1.log 权限,仅归属人有读和执行权限

chmod 500 file1.log

3.2.1、当对文件 file1.log 写入操作时候

echo testing >> file1.log

系统会判断当前用户权限是否包含写入

判断方式是进行二进制按位与(&)运算 

得出 0(不包含)或 非 0 (包含)的结论

file1.log 归属人权限为 5 二进制为 101写入时候 echo testing >> file1.log 需要权限为 2 二进制为 105 和 2 做按位与运算,如下所示按位与:对位都为 1 返回 1 否则返回 0101  # 5 的二进制 010  # 2 的二进制 (左侧补0凑齐3位)000  # 按位与 结果为 0
shell验证
按位与结果为 0 所以 file1.log 文件没有写入权限(echo testing >> file1.log 命令执行失败

3.2.2、当对文件 file1.log 读取操作时候

cat file1.log

系统会判断当前用户权限是否包含读取

判断方式是进行二进制按位与(&)运算 

得出 0(不包含)或 非 0 (包含)的结论

file1.log 归属人权限为 5 二进制为 101读取内容时候 cat file1.log 需要权限为 4 二进制为 1005 和 4 做按位与运算,如下所示按位与:对位都为 1 返回 1 否则返回 0101  # 5 的二进制 100  # 4 的二进制 100  # 按位与 结果为 二进制 100 十进制 4(非0)
shell验证
按位与结果为 非0 所以 file1.log 文件有读取权限(cat file1.log 命令执行成功

3.2.3、当执行 file1.log  文件时候

./file1.log

系统会判断当前用户权限是否包含执行

判断方式是进行二进制按位与(&)运算 

得出 0(不包含)或 非 0(包含)的结论

file1.log 归属人权限为 5 二进制为 101执行文件 ./file1.log 需要权限为 1 二进制为 15 和 1 做按位与运算,如下所示按位与:对位都为 1 返回 1 否则返回 0101  # 5 的二进制 001  # 1 的二进制 (左侧补0凑齐3位)001  # 按位与 结果为 二进制 1 十进制 1(非0)
shell验证
按位与结果为 非0 所以 file1.log 文件有执行权限(./file1.log 命令会执行成功

3.2.4、怎样向 4、2、1 追加权限

从上图可得知 file1.log 文件没有写入权限,执行如下命令添加写入权限。
chmod u+w file1.log
那么系统是怎么做到追加的呢?依然用二进制位运算,不同于上面这次用按位或
file1.log 归属人权限为 5 二进制为 101追加写入权限 十进制为 2 二进制为 105 和 2 做按位或运算,如下所示按位或:对位存在 1 返回 1 否则返回 0101  # 5 的二进制 010  # 2 的二进制 (左侧补0凑齐3位)111  # 按位或 结果为 十进制 7 二进制 111

3.2.5、怎样删除 4、2、1 当中某些权限

从上图可得知去掉了 file1.log 的执行权限
chmod u-x file1.log
看下系统执行过程,这次用到了按位与(&)和按位非(~)
按位与:对位都为 1 返回 1 否则返回 0按位非:二进制位逐位变化 0 变 1,1 变 0file1.log 归属人权限为 7 二进制为 111去掉执行权限 十进制为 1 二进制为 001(左侧补0凑齐3位)第一步、先对被去掉的权限进行取反操作(按位非~)      二进制 001 取反后为 110第二步、取反后的结果和文件本身权限进行按位与(&)操作      111 和 110 做按位与运算,如下所示      111  # 7 的二进制       110  # 1 按位取反后的二进制       110  # 按位与 结果为 十进制 6 二进制 110
如果再去掉写权限呢?
按位与:对位都为 1 返回 1 否则返回 0按位非:二进制位逐位变化 0 变 1,1 变 0file1.log 归属人权限为 6 二进制为 110去掉写权限 十进制为 2 二进制为 010(左侧补0凑齐3位)第一步、先对被去掉的权限进行取反操作(按位非~)      二进制 010 取反后为 101第二步、取反后的结果和文件本身权限进行按位与(&)操作      101 和 110 做按位与运算,如下所示      110  # 6 的二进制       101  # 2 按位取反后的二进制       100  # 按位与 结果为 十进制 4 二进制 100

Linux官方文档地址

https://www.kernel.org/doc/html/latest/

3.2.6、上面 4、2、1 权限表示方式可以用在业务开发当中吗?

假设要做一个博客系统,里面文章有点赞、评论和分享功能

对应权限设置如下:

点赞:1评论:2分享:4

文章权限追加与修改代码如下

<?php// 点赞CONST PRAISE = 1;// 评论CONST COMMENT = 2;// 分享CONST SHARE = 4;$article 5;if($article & PRAISE) echo "该文章有 点赞 功能 \n";if($article & COMMENT) echo "该文章有 评论 功能 \n";if($article & SHARE) echo "该文章有 分享 功能 \n";// 追加 评论 功能$article $article | COMMENT;if($article & COMMENT) echo "该文章追加 评论 功能成功 \n";// 删除 点赞 功能$article $article & (~PRAISE);if(!($article & PRAISE)) echo "该文章删除 点赞 功能成功 \n";输出结果如下:该文章有 点赞 功能该文章有 分享 功能该文章追加 评论 功能成功该文章删除 点赞 功能成功
上面仅仅用PHP演示的简易逻辑,实际权限设计要比这复杂得多
四、ACL(Access Control List)权限

ACL(Access Control List,访问控制列表)是 Linux/Unix 系统中精细化文件权限管理机制,核心作用是突破传统 rwx(所有者 / 所属组 / 其他人)三段式权限的限制,支持对单个用户、多个用户组单独分配差异化权限,解决传统权限无法满足的复杂授权场景(如 “让用户 A 只读、用户 B 读写、用户组 C 仅执行”)。

ACL 权限的核心价值:弥补传统权限的不足

传统 Linux 权限(如 755400)仅能控制三类主体的权限:

    • 归属者(u)、归属组(g)、其他人(o)
    • 缺陷:无法对 “非归属者、非归属组成员” 的单个用户 / 自定义组授权(例如,想让同事 wangwu 访问你的文件,但不想把他加入你的归属组)。这个时候正是ACL适用场景。
    多年前用 CentOS5 和 CentOS6 时候,这个ACL功能还不是默认支持,需要手动修改 /etc/fstab 文件进行开启如下所示
    现在服务器都已经默认支持了,上面操作不需要了。
    4.1、ACL基本命令格式
    设置ACL格式命令如下:
    对testdir文件夹及子文件夹添加acl权限使user1用户有读写执行权限setfacl -m u:user1:rwx -R testdir 对testdir文件夹及子文件夹添加acl权限使group1组有读写执行权限setfacl -m g:group1:rwx -R testdir 对testdir文件夹添加acl权限使user1用户有读写执行权限并且新创建子文件夹也继承父文件夹ACL权限setfacl -m d:u:user1:rwx -R testdir 对testdir文件夹添加acl权限使group1组有读写执行权限并且新创建子文件夹也继承父文件夹ACL权限setfacl -m d:g:group1:rwx -R testdir 删除testdir文件夹所有ACL权限 setfacl -R -b testdir 删除指定用户 ACLsetfacl -R -x u:user1 testdir删除指定组 ACLsetfacl -R -x g:group1 testdir删除默认ACLsetfacl -R -k testdir获取文件或文件夹ACL权限getfacl testdir
    4.2、ACL指定单用户权限
    上图中 lisi 用户试图访问 zhangsan 用户下的 acl_test 目录,但该目录权限为700,除 zhangsan 以外其他普通用户根本没有任何权限。
    [lisi@VM-16-3-opencloudos zhangsan]$ ll acl_test/ls: cannot open directory 'acl_test/': Permission denied[lisi@VM-16-3-opencloudos zhangsan]$ cd acl_test/-bashcd: acl_test/: Permission denied
    此时,如果想让 lisi 用户对 /home/zhangsan/acl_test 目录进行操作,还不改变原目录 700 权限,就可以用ACL来解决
    zhangsan 用户对acl_test目录设置了ACL权限,允许 lisi 用户对该目录有读(ls)和执行(cd)权限。
    如上 lisi 用户再次执行 ls 和 cd 命令都成功了。
    同时这个文件夹属性也有了悄悄地变化,
    多了个加号➕这个就是文件夹设置了ACL权限标记
    删除acl_test文件夹的ACL权限
    lisi 用户无法继续操作
    4.3、ACL指定组权限
    上图可以看到,用户 lisi 和 zhangsan 添加到了 g_acl 组
    用户 zhangsan 对 /home/zhangsan/acl_test 目录设置了ACL权限并指定了 g_acl 组,权限为读、写和执行
    用户 lisi 在 /home/zhangsan/acl_test 目录内权限生效
    4.4、ACL权限与RBAC(Role-Based Access Control)权限
    RBAC权限控制,是开发管理系统常用的权限模型。
    将权限赋给角色,将用户赋给角色,用户就可以使用角色里权限
    ACL权限组
    将权限赋给组,将用户添加到组里,用户就拥有了组里权限
    这两种权限模型相似度极高
    五、SUID、SGID、SBIT 权限
    SUID 和 SGID 都是命令在执行过程中进行权限提升。
    5.1、SUID 
    [lisi@VM-16-3-opencloudos acl_test]$ ll /usr/bin/passwd-rwsr-xr-1 root root 31984 Jan  8  2024 /usr/bin/passwd
    如上看到 /usr/bin/passwd 这个二进制命令,在归属人执行权限这里有个 s 这就是 SUID 权限标记
    当 lisi 用户执行 passwd 命令修改自己密码时,需要将新密码保存到 /etc/shadow 里。但从上图来看,这个文件所有用户都没有操作权限,而且还不具备 ACL权限,那 lisi 修改密码后如何能保存到里面呢?原因是 /usr/bin/passwd 命令有SUID权限,执行过程中会提升为 root 用户,因此可以修改 /etc/shadow 文件(root用户不受rwx约束)。
    普通用户在使用具有SUID权限的二进制命令时候,会在执行过程中提升为该命令归属人身份
    任何用户在执行 passwd 命令时都会临时变身为 root 用户
    大家只需理解上面红字概念即可,千万不要去尝试设置这样命令!!!
    5.2、SGID 
    如上看到 /usr/bin/locate 这个二进制命令,在归属组执行权限这里有个 s 这就是 SGID 权限标记
    用户在使用具有SGID权限的二进制命令时候,会在执行过程中提升为该命令归属组身份
    任何用户在执行 locate 命令时都会临时归属到 slocate 组
    5.3、SBIT

    SBIT (粘滞位)核心作用是限制公共目录中文件的删除权限——仅文件归属人或 root 用户可删除 / 移动文件,其他用户即使对目录有写权限,也无法删除他人文件。

    如上看到 /tmp 目录和 /var/tmp 目录,在其他人执行权限这里有个 t 这并不是涡轮增压而是 SBIT 权限标记

    简单总结:目录设置了SBIT权限后,不同用户只能维护自己创建的文件或文件夹,不可以删除或修改其他用户创建的文件或文件夹

    上图中纵使 tmp 目录权限为 777 但是 zhangsan 创建的 abc.log 文件 lisi 是无法删除的

    上图中 root 创建了sbit 文件夹并设置了SBIT权限

    #设置SBIT权限chmod 1777 sbit
    六、chattr文件属性
    chattr 这个命令大家只需掌握一个 i 属性,
    作用就是锁定文件不允许修改和删除(防止文件被误操作)
    #查看文件attr属性lsattr file
    #锁定文件chattr +i file
    由上图可看出添加了 i 属性后文件被牢牢锁定,不能做任何修改操作
    #解除锁定chattr -i file
    如上解除锁定后一切恢复正常。
    这次写的篇幅很长但是能看下来必有所得,感谢观看!
    希望能得到诸位一个免费的关注❤

    最新文章

    随机文章

    基本 文件 流程 错误 SQL 调试
    1. 请求信息 : 2026-02-08 04:12:00 HTTP/2.0 GET : https://f.mffb.com.cn/a/468710.html
    2. 运行时间 : 0.080501s [ 吞吐率:12.42req/s ] 内存消耗:4,500.42kb 文件加载:140
    3. 缓存信息 : 0 reads,0 writes
    4. 会话信息 : SESSION_ID=8bfd85e03228595e95d8f78c48da0b33
    1. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/public/index.php ( 0.79 KB )
    2. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/autoload.php ( 0.17 KB )
    3. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_real.php ( 2.49 KB )
    4. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/platform_check.php ( 0.90 KB )
    5. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/ClassLoader.php ( 14.03 KB )
    6. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/composer/autoload_static.php ( 4.90 KB )
    7. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
    8. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
    9. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
    10. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
    11. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
    12. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
    13. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
    14. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
    15. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
    16. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
    17. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
    18. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
    19. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
    20. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
    21. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
    22. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/provider.php ( 0.19 KB )
    23. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
    24. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
    25. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
    26. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/common.php ( 0.03 KB )
    27. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/helper.php ( 18.78 KB )
    28. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
    29. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/app.php ( 0.95 KB )
    30. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cache.php ( 0.78 KB )
    31. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/console.php ( 0.23 KB )
    32. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/cookie.php ( 0.56 KB )
    33. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/database.php ( 2.48 KB )
    34. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
    35. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/filesystem.php ( 0.61 KB )
    36. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/lang.php ( 0.91 KB )
    37. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/log.php ( 1.35 KB )
    38. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/middleware.php ( 0.19 KB )
    39. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/route.php ( 1.89 KB )
    40. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/session.php ( 0.57 KB )
    41. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/trace.php ( 0.34 KB )
    42. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/config/view.php ( 0.82 KB )
    43. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/event.php ( 0.25 KB )
    44. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
    45. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/service.php ( 0.13 KB )
    46. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/AppService.php ( 0.26 KB )
    47. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
    48. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
    49. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
    50. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
    51. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
    52. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/services.php ( 0.14 KB )
    53. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
    54. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
    55. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
    56. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
    57. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
    58. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
    59. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
    60. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
    61. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
    62. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
    63. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
    64. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
    65. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
    66. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
    67. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
    68. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
    69. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
    70. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
    71. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
    72. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
    73. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
    74. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
    75. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
    76. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
    77. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
    78. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
    79. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
    80. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
    81. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
    82. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
    83. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/Request.php ( 0.09 KB )
    84. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
    85. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/middleware.php ( 0.25 KB )
    86. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
    87. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
    88. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
    89. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
    90. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
    91. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
    92. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
    93. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
    94. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
    95. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
    96. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
    97. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
    98. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
    99. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/route/app.php ( 1.72 KB )
    100. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
    101. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
    102. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
    103. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/controller/Index.php ( 4.81 KB )
    104. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/app/BaseController.php ( 2.05 KB )
    105. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
    106. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
    107. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
    108. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
    109. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
    110. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
    111. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
    112. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
    113. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
    114. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
    115. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
    116. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
    117. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
    118. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
    119. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
    120. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
    121. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
    122. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
    123. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
    124. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
    125. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
    126. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
    127. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
    128. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
    129. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
    130. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
    131. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
    132. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
    133. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
    134. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
    135. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
    136. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
    137. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
    138. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
    139. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/runtime/temp/067d451b9a0c665040f3f1bdd3293d68.php ( 11.98 KB )
    140. /yingpanguazai/ssd/ssd1/www/f.mffb.com.cn/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
    1. CONNECT:[ UseTime:0.000745s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
    2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000869s ]
    3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000286s ]
    4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000311s ]
    5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000490s ]
    6. SELECT * FROM `set` [ RunTime:0.000181s ]
    7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000549s ]
    8. SELECT * FROM `article` WHERE `id` = 468710 LIMIT 1 [ RunTime:0.001178s ]
    9. UPDATE `article` SET `lasttime` = 1770495120 WHERE `id` = 468710 [ RunTime:0.004082s ]
    10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.000209s ]
    11. SELECT * FROM `article` WHERE `id` < 468710 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.000529s ]
    12. SELECT * FROM `article` WHERE `id` > 468710 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.000830s ]
    13. SELECT * FROM `article` WHERE `id` < 468710 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.000566s ]
    14. SELECT * FROM `article` WHERE `id` < 468710 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.006529s ]
    15. SELECT * FROM `article` WHERE `id` < 468710 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.001663s ]
    0.082135s