В прошлой статье мы рассказывали о появившейся в Carbonio возможности для пользователей удобно управлять личными и корпоративными списками рассылки, а также возможностях для администраторов делегировать управление списками рассылки непосредственно пользователям. Однако, если по каким-то причинам делегирование списков рассылки не представляется возможным, администратор должен самостоятельно обеспечивать актуальность списка рассылки В данной статье мы расскажем о том, как можно эффективно управлять корпоративными списками рассылки в командной строке Carbonio и автоматизировать рутинные процессы, связанные с добавлением и удалением пользователей.
Данная инструкция подойдет как для пользователей бесплатной версии Carbonio Community Edition, так и коммерческой версии Carbonio.
Командная строка Carbonio охватывает весь спектр возможных действий со списками рассылки, начиная от создания и удаления самого списка рассылки, до его переименования и создания алиасов. Примеры таких команд:
carbonio prov createDistributionList dl@carbonio.local - создает список рассылки с указанным именем
carbonio prov renameDistributionList dl@carbonio.local dlist@carbonio.local - переименовывает ранее созданный список рассылки из dl@carbonio.local в dlist@carbonio.local
carbonio prov getDistributionList dlist@carbonio.local - выводит на экран полный список атрибутов списка рассылки
Любой атрибут из списка может быть изменен. Для примера, запретим созданному списку рассылки получать почту:
carbonio prov modifyDistributionList dlist@carbonio.local zimbraMailStatus disabled
Проверить, что изменение применилось корректно, можно повторно выведя атрибуты списка рассылки
Помимо переименования, можно использовать алиасы списка рассылки. Письма, направленные на такой алиас, попадут в основной список рассылки. То же касается и различных прав доступа. После их применения к алиасу, они распространятся на всех участников основного списка рассылки.
carbonio prov addDistributionListAlias dlist@carbonio.local dlist1@carbonio.local - добавит к списку рассылки dlist алиас dlist1
carbonio prov removeDistributionListAlias dlist1@carbonio.local - удалит ранее созданный алиас dlist1
Для управления пользователями в списках рассылки используются следующие команды:
carbonio prov addDistributionListMember dlist@carbonio.local user@carbonio.local - Добавляет в список рассылки dlist@carbonio.local пользователя user@carbonio.local
carbonio prov getDistributionListMembership dlist@carbonio.local user@carbonio.local - показывает, является ли пользователь user@carbonio.local участником списка рассылки dlist@carbonio.local.
carbonio prov removeDistributionListMember dlist@carbonio.local user@carbonio.local - Удаляет из списка рассылки dlist@carbonio.local пользователя user@carbonio.local
Удалить список рассылки можно при помощи команды carbonio prov deleteDistributionList dlist@carbonio.local
Динамические списки рассылки являются списками рассылки, состав участников которых определяется не пользователем, который управляет данным списком, а поисковым запросом к Carbonio LDAP. Поскольку результаты поиска могут меняться в случае появления на сервере новых пользователей или удаления уже существующих учетных записей, такой список рассылки и называется динамическим.
Перед созданием динамического списка рассылки нужно определиться с поисковым запросом в LDAP. Примеры таких запросов:
ldap:///??sub?(objectClass=zimbraAccount) - в выдачу попадают все учетные записи на сервере
ldap:///??sub?(&(objectClass=zimbraAccount)(!(zimbraIsSystemResource=TRUE))(!(zimbraIsSystemAccount=TRUE))(!(zimbraAccountStatus=closed))) - в выдачу попадают все учетные записи на сервере, кроме системных, ресурсных и закрытых учетных записей.
ldap:///??sub?(&(objectClass=inetOrgPerson)(mail=*@carbonio.local)) - в выдачу попадут все пользователи домена carbonio.local
ldap:///??sub?(&(objectClass=zimbraAccount)(!(zimbraIsSystemResource=TRUE))(!(zimbraIsSystemAccount=TRUE))(!(zimbraAccountStatus=closed))(zimbraCOSId=53b3ab9e-f414-4eb7-bd98-393b62de15d3)) - в выдачу попадут только пользователи определенного класса обслуживания
Сами динамические списки рассылки создаются при помощи команды carbonio prov createDynamicDistributionList all@carbonio.local memberURL 'ldap:///??sub?(objectClass=zimbraAccount)' .
После создания динамического списка рассылки, его поисковую базу можно изменить. К примеру, carbonio prov modifyDynamicDistributionList all@carbonio.local memberURL 'ldap:///??sub?(&(objectClass=zimbraAccount)(!(zimbraIsSystemResource=TRUE))(!(zimbraIsSystemAccount=TRUE))(!(zimbraAccountStatus=closed)))'.
Для удаления динамического списка рассылки используйте команду carbonio prov deleteDynamicDistributionList all@carbonio.local.
В случаях, когда в списке рассылки участвуют не только пользователи на сервере, но и внешние учетные записи, динамические списки рассылки не могут использоваться для автоматизации рутинных действий по добавлению или удалению учетных записей.
Для того, чтобы сделать процесс добавления и удаления учетных записей в статических списках рассылки максимально быстрым и удобным, администратор может использовать скрипты.
Пример скрипта для добавления в статический список рассылки пользователей всего домена:
for acc in $(carbonio prov -l gaa|grep @carbonio.local); do carbonio prov addDistributionListMember dlist@carbonio.local $acc; done
Пример скрипта для удаления пользователей домена из списка рассылки:
for acc in $(carbonio prov -l gaa|grep @carbonio.local); do carbonio prov -f removeDistributionListMember dlist@carbonio.local $acc; done
Параметр -f в данном скрипте позволит ему игнорировать ошибки, связанные с тем, что пользователи домена могут не являться участниками списка рассылки.
Массово добавлять и удалять пользователей можно и с помощью файла, содержащего данные о них. Для добавления учетных записей используйте формат “adlm user@domain list@domain”, а для удаления “rdlm user@domain list@domain”
После того как соответствующие файлы будут созданы можно будет их запустить при помощи команд
carbonio prov /tmp/addusers
carbonio prov -f /tmp/removeusers
Обратите внимание на то, что для корректного выполнения скриптов с использованием файлов с данными, у системного пользователя zextras должны быть права на чтение этого файла.
Таким образом, командная строка Carbonio позволяет администратору организовать эффективную работу со списками рассылки и автоматизировать часть рутинных задач.
По вопросам тестирования, приобретения, предоставления лицензии и консультаций обращаться на почту sales@svzcloud.ru к эксклюзивному партнеру Zextras.
Получить информацию и обменяться информацией о Carbonio CE вы можете в группах в Telegram CarbonioMail и Carbonio CE Unofficial