Работа
November 2
CommunigatePRO: Предоставление прав доступа на папки
Предоставление прав на папки почтовых ящиков пользователей из веб-интерфейса Pronto дело простое, но не все пользователи согласны это делать самостоятельно, а у администратора не должно быть паролей - поэтому, мы предоставим права доступа через CLI.
# Узнать, как пишется имя папки на русском языке для Communigate можно командой name2mbox "Текст" # пример: # name2mbox "рофл" # 200 "&BEAEPgREBDs-"
Скрипт по настройке. Установите expect на ПК, сохраните с расширением .expect, выдайте права на исполнение и используйте.
Этот метод НЕ работает с Календарями, только с обычными папками почтового ящика.
upd: С календарём можно, но если вы вдруг переименовывали Calendar во что-то иное, права доступа так выдать не выйдет и нужно указывать дефолтное имя папки Calendar. По заявлению вендора — это захардкожено и пока не исправлено
#!/usr/bin/expect # Скрипт на Expect, предоставляющий доступ к папкам в почтовом ящике Communigate ## Примеры применения: # # Выдача прав доступа к папке INBOX # setAccountFolderRights.expect [email protected] INBOX v.marikov ls # # Выдача прав доступа к папке INBOX/проекты # setAccountFolderRights.expect [email protected] &BEAEPgREBDs- v.marikov lsd # # Выдача прав доступа к Календарю пользователя # setAccountFolderRights.expect [email protected] &BBoEMAQ7BDUEPQQ0BDAEQARM- v.marikov ls # # Права доступа к почтовым папкам, календарям и папкам с контактами, заметками и задачами пользователя (значения ключа): # l – видеть; # r – входить; # s – читать; # w – метить; # d – удалить; # i – добавить; # p – публиковать; # c – создать; # a – управлять. # # # Почтовый ящик, куда предоставляется доступ set mailbox [lindex $argv 0]; # Имя папки, куда предоставляется доступ set folder [lindex $argv 1]; # Имя пользователя, которому предоставляется доступ set username [lindex $argv 2]; # Предоставляемые права доступа set access [lindex $argv 3]; spawn telnet СЕРВЕРCGPRO 106 expect "200" { send "USER postmaster\n" } expect "300" { send "PASS ПАРОЛЬ\n" } expect "200" { send "SETMAILBOXACL $mailbox MAILBOX \"$folder\" {$username=$access;}\n" } expect "200" {} sleep 1 send "QUIT\n" send_user "\n" exit 0.