如何禁用在管理页面上向公众显示的“创建新邮件列表”选项。
答案1
你可以更改/usr/lib/mailman/Mailman/Cgi/admin.py
。记得备份!
原来的:
creatorurl = Utils.ScriptURL('create')
mailman_owner = Utils.get_site_email()
extra = msg and _('right ') or ''
welcome.extend([
_('''To visit the administrators configuration page for an
unadvertised list, open a URL similar to this one, but with a '/' and
the %(extra)slist name appended. If you have the proper authority,
you can also <a href="%(creatorurl)s">create a new mailing list</a>.
<p>General list information can be found at '''),
Link(Utils.ScriptURL('listinfo'),
_('the mailing list overview page')),
'.',
_('<p>(Send questions and comments to '),
Link('mailto:%s' % mailman_owner, mailman_owner),
'.)<p>',
])
未创建链接的版本:
creatorurl = Utils.ScriptURL('create')
mailman_owner = Utils.get_site_email()
extra = msg and _('right ') or ''
welcome.extend([
_('''To visit the administrators configuration page for an
unadvertised list, open a URL similar to this one, but with a '/' and
the %(extra)slist name appended.
<p>General list information can be found at '''),
Link(Utils.ScriptURL('listinfo'),
_('the mailing list overview page')),
'.',
_('<p>(Send questions and comments to '),
Link('mailto:%s' % mailman_owner, mailman_owner),
'.)<p>',
])
请记住,这不会禁用新列表的创建,而只是隐藏链接!因此,您仍然需要有一个好的列表创建密码!
答案2
这是挖掘一个非常古老的话题,但这就是我实现它的方法,不涉及破解 Python。我只是在 apache 配置中重定向 URL。
在 Ubuntu 上,它是/etc/apache2/sites-available/mailman.conf
。添加此行:
Redirect /mailman/create /mailman/admin
还有优雅的阿帕奇:
/etc/init.d/apache2 graceful
任何尝试加载http://example.com/mailman/create只会重定向到http://example.com/mailman/admin。
答案3
我只是删除了链接并更改 /var/lib/mailman/Mailman/Cgi/listinfo.py 而不是 admin.py 。并添加 (at) 如下所示,mailman_owner = Utils.get_site_email() welcome.extend([ _('''要访问未公布列表的管理员配置页面,请打开类似于此的 URL,但带有 '/' 和 %(extra)slist 名称附加。
<p>General list information can be found at '''),
Link(Utils.ScriptURL('listinfo'),
_('the mailing list overview page')),
'.',
_('<p>(Send questions and comments to '),
('mailman (at) mail.domain.com'),
'.)<p>',
])
当我们在邮递员的第一页看到所有列表都没有链接到邮件时,如果我们考虑垃圾邮件发送者,这是最有效的。
答案4
您可以让 apache 密码保护创建脚本 - 这样您的管理员仍然可以使用它(尽管使用单独的凭据)。
这是 mailman 在我的 apache 配置文件中放入的内容:
ScriptAlias /cgi-bin/ /path/to/cgi-bin/
<Directory "/path/to/cgi-bin">
AllowOverride None
Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
Order allow,deny
Allow from all
</Directory>
我添加了这个:
# For some reason, +SymLinksIfOwnerMatch causes apache to not apply auth
<Directory "/path/to/cgi-bin/mailman/">
Options -SymLinksIfOwnerMatch
</Directory>
<Directory "/path/to/cgi-bin/mailman/create">
AuthType Basic
AuthName "Authentication required"
AuthUserFile "/path/to/mailmanusers"
Require valid-user
</Directory>
创建了包含一个用户的 AuthUserFile,内容如下:
htpasswd -c /path/to/mailmanusers myusername