Как отключить опцию «создать новый список рассылки», отображаемую на общедоступной странице администратора.
Вы можете изменить /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>',
])
Помните, что это не запрещает создание новых списков, а просто скрывает ссылку! Так что вам все равно нужен хороший пароль для создания списка!
Я просто удаляю ссылку и изменяю /var/lib/mailman/Mailman/Cgi/listinfo.py, а не admin.py. и добавьте (at), как показано ниже, mailman_owner = Utils.get_site_email () welcome.extend ([_ ('' '). Чтобы перейти на страницу конфигурации администраторов для необъявленного списка, откройте URL-адрес, похожий на этот, но с помощью «/» и добавлено имя (дополнительного) списка.
<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>',
])
И с этим на первой странице почтальона, когда мы видим, что все списки не ссылаются на почту. Наиболее эффективно, если мы думаем о спамерах.
Это углубление очень старого потока, но это то, как я этого добился, не требующий взлома питона. Я просто перенаправляю URL в конфигурации Apache.
В Ubuntu это /etc/apache2/sites-available/mailman.conf
. Добавьте эту строку:
Redirect /mailman/create /mailman/admin
И изящный Apache:
/etc/init.d/apache2 graceful
Любая попытка загрузить http://example.com/mailman/create просто перенаправит на http://example.com/mailman/admin .
Вы можете сделать Apache паролем для защиты скрипта создания - таким образом, ваши администраторы все еще могут его использовать (все это с отдельными учетными данными).
Это то, что почтальон поместил в мой конфигурационный файл 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