实践:开源新闻组软件 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

就先实践到这里。

相关推荐
小白同学_C15 小时前
Lab4-Lab: traps && MIT6.1810操作系统工程【持续更新】 _
linux·c/c++·操作系统os
今天只学一颗糖15 小时前
1、《深入理解计算机系统》--计算机系统介绍
linux·笔记·学习·系统架构
不做无法实现的梦~17 小时前
ros2实现路径规划---nav2部分
linux·stm32·嵌入式硬件·机器人·自动驾驶
默|笙18 小时前
【Linux】fd_重定向本质
linux·运维·服务器
x***r15119 小时前
SuperScan4单文件扫描安装步骤详解(附端口扫描与主机存活检测教程)
windows
陈苏同学19 小时前
[已解决] Solving environment: failed with repodata from current_repodata.json (python其实已经被AutoDL装好了!)
linux·python·conda
“αβ”19 小时前
网络层协议 -- ICMP协议
linux·服务器·网络·网络协议·icmp·traceroute·ping
不爱学习的老登20 小时前
Windows客户端与Linux服务器配置ssh无密码登录
linux·服务器·windows
小王C语言21 小时前
进程状态和进程优先级
linux·运维·服务器
xlp666hub21 小时前
【字符设备驱动】:从基础到实战(下)
linux·面试