当前位置:首页>Linux>Rocky Linux9 selinux介绍及常见问题排查

Rocky Linux9 selinux介绍及常见问题排查

  • 2026-01-16 06:07:20
Rocky Linux9 selinux介绍及常见问题排查

字数 3313,阅读大约需 17 分钟

一、SELinux 基础概念

1.1 什么是SELinux

SELinux(Security Enhanced Linux)即安全增强型Linux,是由美国国家安全局(NSA)开发的Linux核心安全模块,其核心目标是避免系统资源误使用。在Rocky Linux 9中,SELinux默认启用,通过委任式存取控制(MAC) 机制,对程序访问文件资源的权限进行精细化管控,弥补传统自主式存取控制(DAC) 过度依赖用户权限和文件rwx属性的安全缺陷。

1.2 DAC与MAC的区别

对比维度
自主式存取控制(DAC)
委任式存取控制(MAC,SELinux采用)
控制核心
以用户/组为主体,依赖文件rwx权限
程序(主体) 和文件(目标) 为核心
权限管理
root拥有最高权限,可绕过所有限制
即使是root,程序权限也受SELinux规则约束
灵活性
用户可自主修改文件权限,易因误操作导致风险
权限由系统政策(Policy)统一管控,安全性更高
适用场景
简单本地环境,信任所有用户操作
服务器环境、多用户场景,需严格控制资源访问

二、SELinux 核心组件与运作机制

2.1 核心组件

SELinux的运作依赖以下关键组件,在Rocky Linux 9中默认沿用targeted政策(针对网络服务的精细化管控):

  1. 1. 主体(Subject):指系统中运行的程序(Process),例如httpd(Apache服务)、vsftpd(FTP服务)。
  2. 2. 目标(Object):指程序试图访问的资源,通常是文件、目录或端口,例如/var/www/html(网页目录)、/home/user(用户家目录)。
  3. 3. 政策(Policy):SELinux预定义的权限规则集合,Rocky Linux 9仅保留两种核心政策:
    • • targeted(默认):仅对网络服务(如httpd、vsftpd)进行严格管控,对本地程序限制较少,兼顾安全性和易用性。
    • • mls(Multi-Level Security):多级安全政策,适用于高安全需求场景(如政府、金融),管控严格但配置复杂。
  4. 4. 安全性本文(Security Context):主体与目标的“身份标识”,决定两者能否建立访问关系,格式为Identify:Role:Type,例如system_u:object_r:httpd_sys_content_t

2.2 安全性本文(Security Context)详解

安全性本文是SELinux权限控制的核心,通过ls -Z(查看文件)或ps -Z(查看程序)可查看,其三个字段含义如下:

字段
含义与取值示例
Identify
身份标识,区分用户/系统程序:
root:root用户相关资源
system_u:系统程序/服务(如httpd、crond)
user_u:普通用户相关资源
Role
角色,区分资源类型:
object_r:文件/目录等静态资源
system_r:程序/进程等动态主体
Type
类型(最关键),决定访问权限:
- 程序(主体)的Type称为Domain(如httpd_tvsftpd_t
- 文件(目标)的Type称为Type(如httpd_sys_content_tuser_home_t

核心规则:只有当程序的Domain与文件的Type在SELinux政策中存在“允许访问”的规则时,程序才能访问该文件。例如:

  • • httpd程序的Domain为httpd_t,仅能访问Type为httpd_sys_content_t的文件(如/var/www/html目录下的网页文件)。
  • • 若将普通文件(Type为user_home_t)移动到/var/www/html,因Type不匹配,httpd会提示“403 Forbidden”。

三、SELinux 状态管理

3.1 查看SELinux状态

1. 查看当前运行模式

getenforce
# 输出结果:

# Enforcing:强制模式(已启用且严格管控)

# Permissive:宽容模式(仅日志警告,不实际拦截)

# Disabled:已关闭

2. 查看详细状态(政策、模式、日志等)

sestatus
# 关键输出解读:

# SELinux status:                 enabled(是否启用)

# Current mode:                   enforcing(当前运行模式)

# Mode from config file:          enforcing(配置文件指定模式)

# Policy version:                 33(政策版本,Rocky Linux 9默认33)

# Policy from config file:        targeted(当前使用政策)

3.2 切换SELinux运行模式

SELinux支持三种运行模式,模式切换分为临时生效(重启后失效)和永久生效(需修改配置文件):

1. 临时切换(无需重启,仅当前会话生效)

# 切换为宽容模式(仅警告,不拦截)
setenforce 0
# 切换为强制模式(严格管控)

setenforce 1

2. 永久切换(需修改配置文件,重启生效)

SELinux的核心配置文件为/etc/selinux/config,修改前建议备份:

# 备份配置文件
cp
 /etc/selinux/config /etc/selinux/config.bak

# 编辑配置文件

vim /etc/selinux/config
# 关键参数修改:

# SELINUX=enforcing   # 强制模式(推荐)

# SELINUX=permissive # 宽容模式(调试用)

# SELINUX=disabled    # 关闭SELinux(不推荐)

# SELINUXTYPE=targeted # 采用targeted政策(默认)


# 保存退出后,重启系统生效

reboot

注意:若从Disabled切换到enforcing/permissive,系统首次重启会自动为所有文件添加安全性本文(Label),耗时可能较长,需耐心等待。

四、SELinux 权限问题排查与解决

在Rocky Linux 9中,SELinux拦截程序访问时,会通过日志记录详细信息,常见问题排查工具如下:

4.1 核心日志工具

1. setroubleshoot(推荐,自动分析错误并提供解决方案)

Rocky Linux 9默认预装setroubleshoot,会将SELinux错误信息写入/var/log/messages,并提供修复建议:

# 查看SELinux相关错误日志
grep setroubleshoot /var/log/messages
# 示例输出:

# Mar 20 14:30:00 rocky9 setroubleshoot: SELinux is preventing httpd from reading /var/www/html/test.html (Type: user_home_t). Run sealert -l XXXXXXXX to view details.

根据日志提示,使用sealert查看完整解决方案:

# 替换XXXXXXX为日志中的错误ID
sealert -l XXXXXXXX
# 输出会包含:

# 1. 错误原因(如Type不匹配)

# 2. 解决方案(如使用restorecon修复Type)

2. auditd(详细审计日志)

auditd服务会将SELinux的所有访问记录(包括允许/拒绝)写入/var/log/audit/audit.log,适合深度排查:

# 启动auditd服务(默认开机自启)
systemctl start auditd
systemctl enable auditd

# 查看SELinux拒绝访问的记录(关键词AVC)

grep AVC /var/log/audit/audit.log
# 示例输出:

# type=AVC msg=audit(1680000000.123:456): avc:  denied  { read } for  pid=1234 comm="httpd" path="/var/www/html/test.html" dev=sda1 ino=789 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:user_home_t:s0 tclass=file

使用audit2why分析日志,解释拒绝原因:

cat /var/log/audit/audit.log | audit2why
# 输出会明确指出:因httpd_t(Domain)无法访问user_home_t(Type),导致拒绝

4.2 修复安全性本文(Type不匹配问题)

最常见的SELinux问题是“文件Type与程序Domain不匹配”,例如将/home/user/test.html移动到/var/www/html后,httpd无法访问。此时需修复文件的Type,常用工具如下:

1. restorecon(推荐,恢复默认Type)

restorecon会根据系统预定义的规则(/etc/selinux/targeted/contexts/files/),将文件Type恢复为默认值,适合标准目录(如/var/www/html/home):

# 修复单个文件
restorecon -v /var/www/html/test.html
# 修复目录及子目录所有文件(-R递归)

restorecon -Rv /var/www/html/
# -v:显示修复过程

2. chcon(手动指定Type,临时生效)

chcon用于手动修改文件的Type,适合临时测试,但重启或执行restorecon后会失效

# 将test.html的Type改为httpd_sys_content_t(httpd可访问)
chcon
 -t httpd_sys_content_t /var/www/html/test.html

# 以参考文件为模板修改(推荐,避免手动输错Type)

# 例:以/var/www/html/index.html为参考,修改test.html的Type

chcon
 --reference=/var/www/html/index.html /var/www/html/test.html

3. semanage(永久修改默认Type,适合自定义目录)

若需为自定义目录(如/srv/web)设置永久默认Type,需使用semanage(Rocky Linux 9需安装policycoreutils-python-utils):

# 安装semanage工具
dnf install -y policycoreutils-python-utils

# 1. 查看当前目录的默认Type规则

semanage fcontext -l | grep /srv

# 2. 为/srv/web及子目录添加永久Type规则(设为httpd_sys_content_t)

semanage fcontext -a -t httpd_sys_content_t "/srv/web(/.*)?"

# 3. 应用规则(使修改生效)

restorecon -Rv /srv/web/

# 4. 验证(后续新增文件会自动继承httpd_sys_content_t)

ls
 -Z /srv/web/

五、SELinux 政策与规则管理

5.1 查看政策详情

1. seinfo(查看政策统计信息)

seinfo用于查看SELinux政策的整体信息,如Type数量、规则数量等:

# 安装seinfo工具
dnf install -y setools-console

# 查看政策基本统计

seinfo
# 关键输出:

# Types: 1521(Type总数)

# Booleans: 213(规则布尔值总数,控制服务访问权限)

# Allow: 86561(允许访问的规则总数)


# 查看与httpd相关的Type

seinfo -t | grep httpd
# 输出示例:httpd_t、httpd_sys_content_t、httpd_log_t等


# 查看与httpd相关的布尔值规则

seinfo -b | grep httpd
# 输出示例:httpd_enable_homedirs、httpd_can_network_connect等

2. sesearch(查看具体规则)

sesearch用于查看政策中“主体Domain与目标Type”的访问规则,例如验证httpd_t能否访问httpd_sys_content_t

# 查看httpd_t(主体)访问httpd_sys_content_t(目标)的所有规则
sesearch -s httpd_t -t httpd_sys_content_t -a
# 输出示例:

# allow httpd_t httpd_sys_content_t : file { read getattr lock };

# allow httpd_t httpd_sys_content_t : dir { search read getattr };

# 说明httpd_t可读取httpd_sys_content_t类型的文件和目录

5.2 管理布尔值规则(核心功能)

SELinux通过布尔值(Boolean) 控制特定服务的访问权限(如允许httpd访问用户家目录、允许vsftpd写文件),布尔值的状态(1=启用,0=禁用)直接影响服务功能。

1. 查看布尔值状态

# 查看所有布尔值状态
getsebool -a

# 查看与httpd相关的布尔值

getsebool -a | grep httpd
# 示例输出:

# httpd_enable_homedirs --> off(是否允许httpd访问用户家目录)

# httpd_can_network_connect --> on(是否允许httpd对外联网)

# httpd_can_sendmail --> off(是否允许httpd发送邮件)

2. 修改布尔值状态

使用setsebool修改布尔值,必须加-P参数才能永久生效(否则重启后失效):

# 示例1:允许httpd访问用户家目录(永久生效)
setsebool -P httpd_enable_homedirs=1

# 示例2:禁止vsftpd写文件(永久生效)

setsebool -P ftpd_anon_write=0

# 验证修改结果

getsebool httpd_enable_homedirs
# 输出:httpd_enable_homedirs --> on

常用布尔值示例(Rocky Linux 9中):

布尔值名称
功能描述
推荐状态(服务场景)
httpd_enable_homedirs
允许httpd访问用户家目录(如/home/user
个人网站服务器:on;公网服务器:off
ftpd_home_dir
允许vsftpd用户访问自己的家目录
FTP服务器:on
sshd_permit_user_env
允许ssh用户加载自定义环境变量
普通服务器:off;开发环境:on
httpd_can_network_connect_db
允许httpd连接数据库(如MySQL)
Web+数据库服务器:on

六、Rocky Linux 9 SELinux 实战案例

6.1 案例1:解决httpd访问自定义网页目录的403错误

问题描述

/srv/web目录放置网页文件index.html,启动httpd后访问http://服务器IP提示“403 Forbidden”,但文件权限已设为644(apache可读取)。

排查与解决步骤

  1. 1. 查看SELinux日志,确认是否为Type不匹配:
    grep setroubleshoot /var/log/messages | grep httpd
    # 输出提示:httpd无法访问/srv/web/index.html,Type为var_t(默认),需改为httpd_sys_content_t
  2. 2. 永久设置/srv/web的默认Type
    # 1. 添加SELinux规则,将/srv/web及子目录Type设为httpd_sys_content_t
    semanage fcontext -a -t httpd_sys_content_t "/srv/web(/.*)?"
    # 2. 应用规则

    restorecon -Rv /srv/web/
    # 3. 验证Type

    ls
     -Z /srv/web/index.html
    # 输出应为:-rw-r--r-- root root system_u:object_r:httpd_sys_content_t:s0 index.html
  3. 3. 重启httpd服务,访问测试:
    systemctl restart httpd
    # 浏览器访问http://服务器IP,正常显示网页

6.2 案例2:允许vsftpd用户上传文件

问题描述

vsftpd服务已启动,用户可登录但无法上传文件(提示“Permission denied”),文件权限已设为755

排查与解决步骤

  1. 1. 查看SELinux布尔值,确认是否允许vsftpd写文件:
    getsebool -a | grep ftpd
    # 输出:ftpd_full_access --> off(禁止vsftpd完全写权限)
  2. 2. 启用vsftpd写权限(永久生效):
    setsebool -P ftpd_full_access=1
    # 或仅允许匿名用户上传(根据需求选择):setsebool -P ftpd_anon_write=1
  3. 3. 验证上传功能
    # 使用ftp客户端连接测试
    ftp 服务器IP
    # 登录后执行put本地文件,成功上传

七、SELinux 常见问题与注意事项

7.1 常见问题解答

  1. 1. Q:为什么关闭SELinux后,服务能正常运行?
    A:关闭SELinux后,系统仅依赖DAC(文件rwx权限)管控,绕过了MAC的Type匹配检查。但不推荐关闭SELinux,会显著降低系统安全性。
  2. 2. Q:执行restorecon后,文件Type未变化?
    A:可能是未通过semanage为自定义目录添加默认规则,需先执行semanage fcontext -a ...,再执行restorecon
  3. 3. Q:SELinux日志中出现“avc: denied”,但setsebool找不到对应布尔值?
    A:可能是Type不匹配,需使用chconrestorecon修复文件Type,而非修改布尔值。

7.2 注意事项

  1. 1. 避免直接关闭SELinux:Rocky Linux 9的targeted政策对系统性能影响极小,关闭后会暴露如“文件777权限被滥用”“服务越权访问敏感文件”等风险。
  2. 2. 修改配置文件需谨慎/etc/selinux/configSELINUX=disabled会彻底关闭SELinux,需重启生效;若仅需临时调试,建议用setenforce 0切换为宽容模式。
  3. 3. 安装新服务后检查SELinux规则:新服务(如Nginx、MySQL)可能需要手动启用相关布尔值(如nginx_enable_homedirs),可通过sealert查看日志获取修复建议。
  4. 4. 备份SELinux配置:修改/etc/selinux/config或使用semanage前,建议备份相关文件,避免配置错误导致系统无法启动。

在实际运维中,SELinux的日志工具(sealertaudit2why)是排查问题的核心,遇到权限错误时,优先查看日志而非直接关闭SELinux,才能充分发挥其安全防护作用。

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-02-09 00:45:49 HTTP/2.0 GET : https://f.mffb.com.cn/a/460605.html
  2. 运行时间 : 0.438313s [ 吞吐率:2.28req/s ] 内存消耗:5,105.52kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=a12e0b436a7d7aeace4121429c0fbdf5
  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.001278s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.001654s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.010706s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.012570s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.001579s ]
  6. SELECT * FROM `set` [ RunTime:0.014276s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.001760s ]
  8. SELECT * FROM `article` WHERE `id` = 460605 LIMIT 1 [ RunTime:0.070453s ]
  9. UPDATE `article` SET `lasttime` = 1770569149 WHERE `id` = 460605 [ RunTime:0.036757s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.013003s ]
  11. SELECT * FROM `article` WHERE `id` < 460605 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.002544s ]
  12. SELECT * FROM `article` WHERE `id` > 460605 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001635s ]
  13. SELECT * FROM `article` WHERE `id` < 460605 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.006739s ]
  14. SELECT * FROM `article` WHERE `id` < 460605 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.022801s ]
  15. SELECT * FROM `article` WHERE `id` < 460605 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.066551s ]
0.442334s