当前位置:首页>Linux>为什么 Linux 要区分 root 和普通用户?终于有人讲明白了

为什么 Linux 要区分 root 和普通用户?终于有人讲明白了

  • 2026-07-02 17:37:14
为什么 Linux 要区分 root 和普通用户?终于有人讲明白了

很多刚从 Windows 转到 Linux 的朋友,都会遇到一个很烦的问题:

明明只是装个软件,Linux 却要你输入:

sudo apt install nginx

明明只是改个配置文件,却提示:

Permission denied

明明只是想图省事,直接用 root 登录,老手却会提醒你:

不要长期用 root,养成 sudo 习惯。

于是很多人心里会冒出一个疑问:

Linux 为什么要把用户分得这么清楚?为什么不能像 Windows 那样,点两下就完事?

这篇文章不只讲概念,而是讲清楚背后的设计思想。


一、从 Windows 习惯说起:为什么你会觉得 root 很别扭?

如果你长期使用 Windows,你对“权限”的感受可能并不强。

很多操作看起来都很自然:

  • 双击安装软件
  • 双击运行程序
  • 修改桌面文件
  • 删除某个目录
  • 遇到弹窗点一下“允许”

Windows 当然也有管理员权限,但对普通用户来说,它往往被包装得比较“无感”。

而到了 Linux,画风突然变了。

安装软件:

apt install nginx

不行。

要这样:

sudo apt install nginx

修改系统配置:

vim /etc/nginx/nginx.conf

可能提示:

Permission denied

删除系统目录?

Linux 会冷冷地告诉你:

你没有权限。

这不是 Linux 故意刁难你。

恰恰相反,这是 Linux 在保护你。

Linux 的权限提示,不是麻烦你,而是在替你踩刹车。


二、先讲结论:Linux 为什么要区分 root 和普通用户?

因为 Linux 继承了 Unix 的多用户设计思想。

它不是简单把一台机器当成“一个人随便用的电脑”,而是默认一台机器上可能同时存在:

  • 多个登录用户
  • 多个后台服务
  • 多个系统进程
  • 多个应用账号
  • 多个需要隔离的目录和文件

所以 Linux 必须回答一个核心问题:

谁能做什么?谁不能做什么?

root 和普通用户的区分,就是 Linux 权限体系的地基。

如果没有这个地基,任何用户、任何程序都能随便修改系统文件、读取敏感数据、删除关键目录。

这对服务器来说非常危险。


三、root 到底是什么?

很多人把 root 理解成“管理员账号”。

这个说法没错,但还不够准确。

在 Linux 中,root 的本质是:

UID 为 0 的超级用户。

你可以用下面的命令查看自己是谁:

whoami

如果你是普通用户,可能看到:

alice

再看用户 ID:

id

可能输出类似:

uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo)

而 root 是这样的:

uid=0(root) gid=0(root) groups=0(root)

这里最关键的是:

uid=0

在 Linux 内核眼里,真正特殊的不是名字叫不叫 root,而是 UID 是否等于 0。

只要 UID 是 0,这个用户就是超级用户。


四、为什么 root 能绕过很多权限限制?

Linux 中的文件通常有三类权限:

  • 所有者权限
  • 所属组权限
  • 其他人权限

比如你执行:

ls -l /etc/shadow

可能看到类似输出:

-rw-r----- 1 root shadow 1234 May 25 10:00 /etc/shadow

/etc/shadow 保存着系统用户密码相关信息,非常敏感。

普通用户不能随便读。

但 root 可以。

为什么?

因为 root 是系统中的超级用户,它拥有最高管理权限,可以绕过大部分普通权限检查。

这就像一栋大楼:

  • 普通员工只能进自己的工位
  • 部门主管能进本部门区域
  • 保安或物业管理员有总钥匙
  • root 就是那把“总钥匙”

问题是:

总钥匙很强,也很危险。

需要补充一句:现代 Linux 不只靠 root / 普通用户这一层权限控制,还会有 capabilities、SELinux、AppArmor、namespace 等机制。本文先从入门角度理解最基础的 root 和普通用户模型。


五、root 为什么危险?

因为 root 的权限太大。

普通用户误删自己的文件,影响的是自己。

root 误删系统文件,影响的是整台机器。

比如普通用户执行:

rm -rf ~/test

最多删掉自己家目录下的 test

但如果 root 在错误目录下执行危险命令,后果可能完全不同。

举个典型场景:

sudo rm -rf /var/www/html/*

本来只是想清理网站目录。

但如果路径写错、变量为空、脚本拼错,就可能删到不该删的地方。

很多生产事故,并不是黑客造成的。

而是人手一抖。

这里不是说上面这条命令一定不能用,而是想说明一个风险:

root 最大的问题,不是它会不会做坏事,而是它会不会把你的错误无限放大。


六、普通用户存在的真正意义

很多初学者会觉得:

既然 root 什么都能干,那我一直用 root 不就好了?

这恰恰是 Linux 最想避免的事情。

普通用户不是“低级账号”。

普通用户是 Linux 安全模型的重要组成部分。

1. 权限隔离:每个人只管自己的东西

假设服务器上有三个用户:

  • alice
  • bob
  • deploy

每个人都有自己的家目录:

/home/alice
/home/bob
/home/deploy

alice 默认不能随便改 bob 的文件。

bob 也不能随便改 deploy 的文件。

这就叫权限隔离。

它的意义是:

一个用户出错,不应该影响所有人。

2. 防止误操作:普通用户天然有“护栏”

普通用户执行很多系统级操作时,会被拦下来。

比如:

touch /etc/test.conf

可能得到:

Permission denied

这不是 Linux 小气。

这是系统在提醒你:

你正在碰系统配置区,请确认你真的知道自己在做什么。

如果确实需要管理员权限,再使用:

sudo touch /etc/test.conf

这一步确认非常重要。

它让你从“无意识操作”变成“有意识授权”。

3. 服务隔离:不要让一个程序拥有整台机器

Linux 大量运行在服务器上。

服务器上经常同时跑很多东西:

  • 网站服务
  • 数据库
  • 缓存
  • 日志系统
  • 定时任务
  • 监控程序
  • 多个运维账号

如果所有东西都用 root 跑,一旦某个程序被攻破,攻击者立刻拥有整台服务器的最高权限。

这太可怕了。

所以 Linux 更推荐:

  • Nginx 用 nginx 或 www-data 用户运行
  • MySQL 用 mysql 用户运行
  • Redis 用 redis 用户运行
  • 应用程序用 app 用户运行

这样即使某个服务被入侵,攻击者拿到的也只是这个服务对应的普通用户权限。

它不能随便读数据库文件。

不能随便改系统配置。

不能随便控制整台机器。


七、真实场景:网站服务为什么不能一直用 root 跑?

假设你的 Web 服务用 root 启动。

如果代码里有一个上传漏洞,攻击者上传了一个恶意脚本。

由于 Web 服务本身是 root 权限运行的,那么恶意脚本也可能继承 root 权限。

这意味着攻击者可能:

  • 修改系统文件
  • 读取敏感配置
  • 安装后门程序
  • 删除重要数据
  • 控制整台服务器

但如果 Web 服务只是普通用户,比如 www-data,风险边界就小很多。

查看 Nginx 进程时,你可能看到类似输出:

ps aux | grep nginx
root      1000  0.0  nginx: master process
www-data  1001  0.1  nginx: worker process

这里 master 进程可能由 root 启动,用于绑定 80/443 端口。

但真正处理请求的 worker 进程,通常会降权为普通用户。

这就是典型的最小权限原则:

程序只拿完成工作所必需的权限,不多拿一分。


八、数据库为什么也要权限隔离?

数据库文件通常非常重要。

如果 MySQL 用 root 运行,一旦 MySQL 漏洞被利用,攻击者可能直接获得 root 权限。

所以 MySQL 通常会有自己的用户:

id mysql

可能输出:

uid=112(mysql) gid=118(mysql) groups=118(mysql)

数据库文件也通常属于 mysql 用户:

ls -ld /var/lib/mysql

类似:

drwx------ 5 mysql mysql 4096 May 25 10:00 /var/lib/mysql

这意味着:

  • MySQL 能访问自己的数据
  • 普通用户不能乱读数据库文件
  • 其他服务不能随便篡改数据库
  • 即使某个服务被入侵,也不会天然获得数据库文件权限

这就是隔离的价值。

不是为了麻烦。

是为了让事故有边界。


九、Docker 和 K8s 为什么也强调不要用 root?

很多人学到 Docker 后,又会遇到一句安全建议:

容器内不要使用 root 用户运行应用。

原因还是一样:不要把最高权限交给一个不需要最高权限的程序。

容器不是魔法结界。

容器提供了隔离,但如果容器里的进程是 root,一旦发生逃逸漏洞、挂载目录权限配置错误,风险仍然会被放大。

当然,容器内的 root 不一定等同于宿主机 root,尤其在 user namespace 等机制下会有映射关系。但从最小权限原则看,应用能不用 root 跑,就尽量不要用 root 跑。

所以更推荐在 Dockerfile 中创建普通用户:

RUN useradd -r -s /usr/sbin/nologin appuser
USER appuser

Kubernetes 里也经常会配置:

securityContext:
runAsNonRoot:true
runAsUser:1000

它背后的思想和 Linux 一脉相承:

不要把最高权限交给一个不需要最高权限的程序。


十、为什么很多服务器会禁用 root 远程登录?

原因可以总结成四个字:

风险太大。

直接 root 登录的问题在于:

  • 所有命令默认都是最高权限
  • 容易误删系统文件
  • 不利于审计谁做了什么
  • 被暴力破解后后果极其严重
  • 不符合最小权限原则

所以很多服务器会禁用 root 远程登录。

比如 SSH 配置中常见:

PermitRootLogin no

然后使用普通用户登录:

ssh deploy@server

需要管理员权限时再:

sudo systemctl restart nginx

这就是成熟运维习惯。

不是为了显得专业。

而是为了让系统少出事。


十一、从 Linux 设计哲学看 root 和普通用户

Linux 权限体系背后,有几个非常重要的设计思想。

1. Linux 是多用户操作系统

它默认一台机器会被多个人、多种服务共同使用。

所以它必须区分:

  • 谁是文件所有者
  • 谁属于哪个用户组
  • 谁能读
  • 谁能写
  • 谁能执行

这不是后来补上的功能。

这是 Linux 的底层基因。

2. 默认不轻易放权

从权限模型看,Linux 默认不会让普通用户修改系统资源,除非进程具备相应身份或能力。

Linux 的安全思路很朴素:

默认不给权限,除非你明确需要。

普通用户不能随便改 /etc

服务进程不能随便读 /root

应用程序不能随便控制系统。

这个策略看起来保守,但非常适合服务器世界。

因为服务器最怕的不是“不方便”。

服务器最怕的是“失控”。

3. 最小权限原则

最小权限原则可以用一句话理解:

能用普通用户完成的事,就不要用 root。

比如:

  • 写业务代码,不需要 root
  • 跑普通脚本,不需要 root
  • 启动应用服务,通常不需要 root
  • 修改系统配置时,才临时 sudo
  • 安装系统软件时,才临时 sudo

权限越大,责任越大。

权限越小,事故边界越清晰。

4. 一切皆文件,权限就成了统一规则

Linux 有一个经典设计思想:

一切皆文件。

普通文件是文件。

目录是文件。

设备可以抽象成文件。

进程信息可以通过文件系统暴露。

配置也大量存在文件里。

既然“一切皆文件”,那么文件权限就变得非常关键。

通过 owner、group、permission 这一套规则,Linux 可以用统一方式管理大量资源。

这就是为什么你理解了文件权限,就等于理解了 Linux 安全体系的一大半。


十二、总结:root 不是方便工具,而是系统核按钮

最后,我们把整篇文章收一下。

root 是 Linux 中 UID 为 0 的超级用户,拥有最高权限。

普通用户不是限制你的枷锁,而是保护系统的边界。

Linux 区分 root 和普通用户,本质上是在贯彻权限隔离和最小权限原则。

可以把 Linux 想象成一座大型工厂。

普通用户像员工,只能进入自己的工作区域。

服务账号像专门岗位,只负责自己的机器。

root 则像总控制室钥匙。

它必须存在。

但不能随便拿在手上晃。

真正理解 Linux 权限体系,不是记住几个命令,而是理解一个思想:系统安全,不靠“人永远不犯错”,而靠设计让错误不至于无限扩大。

END

Linux 进程基础:程序、进程、PCB、地址空间和进程状态


Linux 进程实战:进程启动、查看、结束和后台运行

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-07-02 23:30:40 HTTP/2.0 GET : https://f.mffb.com.cn/a/498758.html
  2. 运行时间 : 0.352914s [ 吞吐率:2.83req/s ] 内存消耗:4,969.73kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=ab1bc61a73806d229b57079d0209f4ae
  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.000572s ] mysql:host=127.0.0.1;port=3306;dbname=f_mffb;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000511s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.012412s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.003909s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000534s ]
  6. SELECT * FROM `set` [ RunTime:0.001287s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000562s ]
  8. SELECT * FROM `article` WHERE `id` = 498758 LIMIT 1 [ RunTime:0.029704s ]
  9. UPDATE `article` SET `lasttime` = 1783006240 WHERE `id` = 498758 [ RunTime:0.024344s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 67 LIMIT 1 [ RunTime:0.002554s ]
  11. SELECT * FROM `article` WHERE `id` < 498758 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.010377s ]
  12. SELECT * FROM `article` WHERE `id` > 498758 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.005645s ]
  13. SELECT * FROM `article` WHERE `id` < 498758 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.017415s ]
  14. SELECT * FROM `article` WHERE `id` < 498758 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.082675s ]
  15. SELECT * FROM `article` WHERE `id` < 498758 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.080324s ]
0.359517s