У меня есть список рассылки в mailman, в котором для флага «Требовать явного назначения» установлено значение «Истина». Я бы хотел отключить это, но имею доступ только через командную строку. Как я могу отключить это / установить значение false с помощью командной строки?
Бинарный файл, который вы ищете, bin/config_list
. Его можно использовать для сброса конфигурации списка или установки некоторой конфигурации списка. Фрагмент из документация почтальона
config_list
Это очень мощный сценарий, который позволяет просматривать и изменять переменные конфигурации списка из командной строки. Например. вы можете выгрузить все параметры списка в простой текстовый файл (на самом деле действительный файл Python!) с комментариями, объясняющими каждую переменную. Или вы можете применить конфигурацию из такого файла к определенному списку.
Это может быть полезно, если вы хотите изменить атрибут web_page_url в каждом списке. Вы можете создать файл, содержащий только строку
web_page_url = 'http://www.mynewsite.com/mailman-relocated/'
а затем верните этот файл обратно в config_list для каждого списка в вашей системе. config_list устанавливает только те переменные списка, которые он находит во входном файле.
Сначала вам нужно знать допустимое имя переменной, которая управляет желаемым поведением. А для «Требовать явного назначения» переменная соответствия require_explicit_destination
. Вы можете увидеть это, просматривая этот URL /mailman/admin/listname/privacy/recipient
в вашем почтальоне.
Исходя из примера, вы должны предоставить текстовый файл с содержимым
require_explicit_destination = 0
Тогда беги
bin/config_list -i mailman.txt listname
Параметры почтальона для конкретных списков обычно находятся в /var/lib/mailman/<listname>/config.pck
. Pck - это двоичный формат базы данных, используемый большинством программного обеспечения Python. Mailman тоже написан на питоне.
Существует множество инструментов Python для редактирования файлов .pck, которые вы легко найдете с помощью Google. Но в случае с почтальоном я бы вам не это предложил.
Вместо этого у mailman также есть очень хороший инструментарий командной строки, который существенно лучше, чем его веб-интерфейс (хотя он не так прост в использовании). Вы можете найти его двоичные файлы, вероятно, /usr/lib/mailman/bin
. Инструмент с вами может редактировать настройки уже существующих списков, названных config_list
Вот. С участием dumpdb
вы можете легко сбросить конфигурацию отдельного списка, чтобы увидеть, какие настройки вы хотите изменить и как. Удачи!