安装INN参见:https://skywalk.blog.csdn.net/article/details/157670194
配置、添加更多组
向 INN (InterNetNews) 服务器添加新的新闻组有两种主要方法,推荐使用 ctlinnd 命令(最安全),也可以手动编辑配置文件(需要谨慎操作)。以下是详细步骤:
方法一:使用 ctlinnd 命令(推荐)
这是官方推荐的安全方式,不需要重启服务。
-
连接到服务器执行命令
# 创建新的可发帖新闻组 ctlinnd newgroup <组名> # 示例:创建名为 comp.test 的组 ctlinnd newgroup comp.test # 创建只读新闻组(不可发帖) ctlinnd newgroup <组名> -m n # 示例:创建只读的 announce.important 组 ctlinnd newgroup announce.important -m n -
验证是否成功
grep '<组名>' /var/lib/news/active # 成功时会显示类似:comp.test 0000000000 0000000001 y # 末尾 "y" 表示可发帖,"n" 表示只读
方法二:手动编辑配置文件(备用)
适用于无法使用 ctlinnd 的情况,需谨慎操作。
-
编辑 active 文件
sudo nano /var/lib/news/active在文件末尾添加新行:
<组名> 0000000000 0000000001 <权限标志>-
权限标志 :
y:允许发帖(默认)n:只读组m:需审核的组x:禁用组
-
示例 :
linux.general 0000000000 0000000001 y
-
-
通知 INN 重新加载配置
ctlinnd reload active "Added new group"
后续必要步骤
无论使用哪种方法,都需要:
-
添加组描述(可选但推荐)
sudo nano /var/lib/news/newsgroups添加格式:
<组名> <描述文本>示例:
comp.test 测试技术讨论组 -
刷新客户端
- 在 Thunderbird 中:右键点击新闻组账户 → 刷新新闻组
- 或重启客户端
-
验证新组可用性
telnet localhost 119 LIST应在返回列表中看到新组名
常见问题解决
-
组不显示:
-
检查
/var/lib/news/active文件权限:chown news:news /var/lib/news/active -
重启 INN 服务:
sudo systemctl restart inn2
-
-
无法发帖到新组:
-
确认
readers.conf包含新组权限:access "all-groups" { users: "*" newsgroups: "*" access: RP # R=读取, P=发帖 } -
重载配置:
ctlinnd reload readers.conf
-
-
组层级限制 : 若需创建新顶层组(如
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
就先实践到这里。