当前位置: 首页 > news >正文

不轻信AI,警惕AI一本正经的胡说八道

今天遇到了一个sshd加载配置顺序的问题,惯性操作问了下AI,结果AI给我了一堆错误的结果,这是第二次了,上一次给它指出,它还承认,这次干脆不承认了。

问AI的问题如下:假设sshd有以下几个配置文件,/etc/ssh/sshd_config,/etc/ssh/sshd_config.d/40-init.conf,/etc/ssh/sshd_config.d/50-init.conf,这几个配置文件中都有一个相同的配置,sshd最终的配置由谁决定的

AI的回答:


一、sshd配置文件的加载规则(核心逻辑)

sshd读取配置的优先级和覆盖机制遵循以下原则,这是理解最终配置的关键:

1. 加载顺序:先主配置,后子目录文件(按文件名排序)

  • 第一步:读取主配置文件 /etc/ssh/sshd_config
  • 第二步:读取 /etc/ssh/sshd_config.d/ 目录下的所有 .conf 后缀文件,按文件名的字母/数字顺序加载(系统会按字符串排序,比如40-init.conf先于50-init.conf)。

2. 覆盖规则:后加载的配置覆盖先加载的

sshd对重复的配置项,遵循“后加载的配置会覆盖先加载的”原则(除非配置项本身支持“累加”,但绝大多数sshd配置项是“单值生效”,比如PortPermitRootLogin等)。

3. 特殊前提:主配置需开启子目录加载

主配置文件 /etc/ssh/sshd_config 中必须包含一行:

Include /etc/ssh/sshd_config.d/*.conf

这行是启用子目录配置的关键(主流Linux发行版如CentOS 8+/Ubuntu 20.04+默认已配置)。如果没有这行,sshd_config.d 下的文件不会被加载,仅主配置生效。

二、你的场景:最终配置由谁决定

你的文件列表:

  • 主配置:/etc/ssh/sshd_config(先加载)
  • 子目录:40-init.conf(次加载)→ 50-init.conf(最后加载)

针对“相同配置项”的最终生效结果:

配置项位置 加载顺序 最终是否生效
/etc/ssh/sshd_config 1(最先) 被后续覆盖
/etc/ssh/sshd_config.d/40-init.conf 2 被50-init.conf覆盖
/etc/ssh/sshd_config.d/50-init.conf 3(最后) 最终生效

三、验证方法(实操确认)

你可以通过以下命令直接查看sshd加载后的最终生效配置,无需重启服务:

# 查看sshd解析后的完整配置(包含所有文件的最终合并结果)
sshd -T
# 筛选特定配置项(比如查看PermitRootLogin的最终值)
sshd -T | grep -i permitrootlogin
  • -T 参数的作用:让sshd打印出加载所有配置文件后最终生效的配置集,这是最权威的验证方式。

四、例外情况:支持“累加”的配置项

极少数配置项支持多个值累加(而非覆盖),比如 AllowGroupsAllowUsers,这类配置项的规则是:

  • 所有文件中的该配置项会合并为一个列表(而非覆盖)。
  • 若出现冲突(比如同时配置AllowUsersDenyUsers),按sshd的权限逻辑处理(deny优先于allow)。

总结

  1. 核心规则:sshd配置遵循“先主配置,后子目录文件(按文件名排序),后加载的覆盖先加载的”。
  2. 你的场景:50-init.conf 是最后加载的,因此相同配置项由它决定最终值。
  3. 验证方式:用 sshd -T 可直接查看最终生效的所有配置,是最直接的确认方法。

我自己验证的加载逻辑

加载顺序:

  1. sshd_config
  2. sshd_config.d/50-ini.conf
  3. sshd_config.d/40-ini.conf

其中50和40是两个配置文件

结论:

相同的配置,最终生效的是标号最小的子配置文件。而AI的回答是最大标号的配置文件。

这个问题很简单,验证几次就能出来,最讨厌的是AI的一顿胡说八道,假的里面掺着真的,不验证的话真的分不清它到底哪句话是真哪句话是假。

http://www.rkmt.cn/news/158205.html

相关文章:

  • 单词搜索- python-dfs剪枝
  • 如何在日常渗透中实现通杀漏洞挖掘?
  • 2026最新研究:如何在隐私保护环境下实现高效知识图谱问答
  • 2025年度成都万象城优质餐厅排行榜:值得打卡的万象城可口美食餐饮企业有哪些? - 工业设备
  • coze使用其他AI模型作为大模型节点,这里以gpt5.1为例
  • FreeBSD 11.0-RELEASE 发布亮点与升级指南
  • YOLO动态链接库的编译与调用详解
  • 今天来和大家聊一个当下科技领域特别火爆的概念——AI Agent!
  • 制氮机公司推荐哪家?2025制氮机厂家排名TOP10盘点 - 栗子测评
  • 2025杭州民办高中师资揭秘:这几所杭州民办高中口碑好 - 栗子测评
  • FPC软排线厂家哪家好?2025FPC生产厂家实力榜单 - 栗子测评
  • 帕金森病增强手绘数据集-健康与患者手绘图像对比研究-医学影像人工智能训练素材-训练和验证帕金森病辅助诊断算法-基于手绘图像的疾病特征提取方法-提高诊断准确率
  • MindSpore报错:query_embeds传参异常解决
  • PyTorch中四大Hook函数详解与Grad-CAM应用
  • 通过nohup 执行与关闭
  • Open-AutoGLM一键部署实战(手把手教学,新手也能当天跑通)
  • 计算机入门基础与核心概念精讲
  • 揭秘Open-AutoGLM模型替换内幕:如何避免90%开发者踩的坑
  • 【Open-AutoGLM实战排错手册】:从CORS到跨域,彻底解决网页调用难题
  • 使用tf.image.resize_bilinear进行图像双线性插值缩放
  • 锂电池连接器厂家?2025防水连接器公司推荐榜单 - 栗子测评
  • 2025年AI大模型工程师终极学习指南:全网首发实战项目+资源大合集,不可错过!
  • MiniCPM-Llama3-V-2.5-int4大模型部署指南
  • SQL检索数据实用技巧与多场景应用
  • Open-AutoGLM本地化部署全流程,打造你的随身AI推理引擎
  • 自主掌控数字流程,灵活可定制的表单与活动管理源码
  • 弹药及特殊物资仓库空间智能感知与管控决策推演关键技术研究
  • Python最常用的环境有哪些?
  • 学长亲荐10个AI论文软件,本科生搞定毕业论文+格式规范!
  • TensorFlow-GPU与Keras版本兼容安装指南