实践:开源新闻组软件 INN 配置、添加更多组

安装INN参见:https://skywalk.blog.csdn.net/article/details/157670194

配置、添加更多组

向 INN (InterNetNews) 服务器添加新的新闻组有两种主要方法,推荐使用 ctlinnd 命令(最安全),也可以手动编辑配置文件(需要谨慎操作)。以下是详细步骤:


方法一:使用 ctlinnd 命令(推荐)

这是官方推荐的安全方式,不需要重启服务。

  1. 连接到服务器执行命令

    复制代码
    # 创建新的可发帖新闻组
    ctlinnd newgroup <组名>
    
    # 示例:创建名为 comp.test 的组
    ctlinnd newgroup comp.test
    
    # 创建只读新闻组(不可发帖)
    ctlinnd newgroup <组名> -m n
    
    # 示例:创建只读的 announce.important 组
    ctlinnd newgroup announce.important -m n
  2. 验证是否成功

    复制代码
    grep '<组名>' /var/lib/news/active
    # 成功时会显示类似:comp.test 0000000000 0000000001 y
    # 末尾 "y" 表示可发帖,"n" 表示只读

方法二:手动编辑配置文件(备用)

适用于无法使用 ctlinnd 的情况,需谨慎操作。

  1. 编辑 active 文件

    复制代码
    sudo nano /var/lib/news/active

    在文件末尾添加新行:

    复制代码
    <组名> 0000000000 0000000001 <权限标志>
    • 权限标志 :

      • y:允许发帖(默认)
      • n:只读组
      • m:需审核的组
      • x:禁用组
    • 示例 :

      复制代码
      linux.general 0000000000 0000000001 y
  2. 通知 INN 重新加载配置

    复制代码
    ctlinnd reload active "Added new group"

后续必要步骤

无论使用哪种方法,都需要:

  1. 添加组描述(可选但推荐)

    复制代码
    sudo nano /var/lib/news/newsgroups

    添加格式:

    复制代码
    <组名> <描述文本>

    示例:

    复制代码
    comp.test 测试技术讨论组
  2. 刷新客户端

    • 在 Thunderbird 中:右键点击新闻组账户 → 刷新新闻组
    • 或重启客户端
  3. 验证新组可用性

    复制代码
    telnet localhost 119 LIST

    应在返回列表中看到新组名


常见问题解决

  1. 组不显示:

    • 检查 /var/lib/news/active 文件权限:

      复制代码
      chown news:news /var/lib/news/active
    • 重启 INN 服务:

      复制代码
      sudo systemctl restart inn2
  2. 无法发帖到新组:

    • 确认 readers.conf 包含新组权限:

      复制代码
      access "all-groups" { users: "*" newsgroups: "*" access: RP # R=读取, P=发帖 }
    • 重载配置:

      复制代码
      ctlinnd reload readers.conf
  3. 组层级限制 : 若需创建新顶层组(如 company.*),在 inn.conf 添加:

    复制代码
    hierarchies: company,comp,news

关键文件说明

文件路径 作用
/var/lib/news/active 所有新闻组列表及权限
/var/lib/news/newsgroups 组描述信息(客户端可见)
/etc/news/readers.conf 客户端访问控制规则
/etc/news/inn.conf 主配置文件(层级设置等)

建议优先使用 ctlinnd newgroup 命令,这是最安全且实时生效的方式。手动编辑仅作为备用方案。

实践

创建组

创建一个普通的组ctlinnd newgroup comp.test

复制代码
sudo ctlinnd newgroup comp.test
[sudo] password for skywalk:
Ok

在客户端添加组

打开客户端软件thunderbird,选择"Manage newsgroup subscriptions" ,然后点击"Refresh",就能看见新添加的组了,勾选上。

测试

发送测试邮件,发送成功!

点中c.test ,右键"Get messages" ,发现有新邮件,打开,发现就是自己发送的邮件。

整个流程跑通!

为组添加描述

方法:修改/var/lib/news/newsgroups 文件,在文件里,按照已存在的描述格式,为新生成的组comp.test加入描述

复制代码
control                 Various control messages (no posting)
control.cancel          Cancel messages (no posting)
control.checkgroups     Hierarchy check control messages (no posting)
control.newgroup        Newsgroup creation control messages (no posting)
control.rmgroup         Newsgroup removal control messages (no posting)
junk                    Unfiled articles (no posting)
local.general           Local general group
local.test              Local test group
comp.test               新加组

但是我在客户端,没有看到组的任何描述信息,所以这个添加描述添加了个寂寞啊!

cancel撤回邮件

右键直接选cancel,可以撤回邮件,真的挺好用啊!

添加更多组codearts、codebuddy、opencode和trae

为AI agent添加更多组,添加了codearts、codebuddy、opencode和trae,以后就让这几个家伙入住INN啦!

复制代码
sudo ctlinnd newgroup ai.codearts
sudo ctlinnd newgroup ai.trae
sudo ctlinnd newgroup ai.codebuddy
sudo ctlinnd newgroup ai.opencode

就先实践到这里。

相关推荐
阳光九叶草LXGZXJ8 小时前
达梦数据库-报错-16-MERGE INTO提示:无效的列名[XX]
linux·运维·数据库·sql·学习
万山寒9 小时前
windows使用WinSW注册服务
windows
CarIise9 小时前
Java实训阶段查漏补缺复习笔记2
java·linux·算法
一号弯9 小时前
Hyperv的LINUX虚拟机扩容
linux·运维·服务器
缘友一世9 小时前
银河护卫队在steam(linux Proton GE-Proton10-34)上启动无窗口问题修复
linux·ubuntu·steam·proton
wunaiqiezixin10 小时前
MIT 6.S081 util 实验篇(lab1):primes (moderate/hard)
linux·unix·os·xv6·mit6.s081
硅基手札10 小时前
【Linux 内核专栏 13】快IO层
linux·服务器·嵌入式硬件
嵌入式分享10 小时前
嵌入式分享#63:RK3588 怎么选?全系列选型指南
linux
白搞电子10 小时前
ESP32-S31 项目如何制作 Windows 一键烧录包:完整镜像、esptool 与数据边界
windows·stm32·单片机
Pointer Pursuit10 小时前
Linux调试器 ——gdb/cgdb
linux·运维·服务器