Aplicando ACLs a um namespace público da Dovecot

6

Gostaria de fornecer acesso a algumas listas de discussão por meio de um conjunto de caixas de correio públicas e somente leitura no Dovecot. Eu tenho um namespace público definir na minha configuração dovecot (dovecot-2.0.9) que se parece isso:

namespace {
  type = public
  separator = .
  prefix = news.
  location = maildir:/var/spool/news
  subscriptions = no  
}

Gostaria de tornar todas as caixas de correio neste namespace somente leitura. Eu tenho a seguinte configuração para o plugin ACL:

plugin {
  acl = vfile:/etc/dovecot/acls:cache_secs=300
}

Depois de examinar a documentação, parecia que eu tinha uma pasta de e-mail /var/spool/news/.foo.bar que eu poderia colocar o seguinte em /var/spool/news/.foo.bar/dovecot-acl :

anyone rl

Mas isso não tem nenhum efeito. Eu também tentei criar um arquivo /usr/local/etc/dovecot/acls/news.foo.bar com o mesmo conteúdo, mas que não fez nada também. Eu ativei a depuração de e-mail:

mail_debug = yes

Mas o log não produz nada que pareça ser relevante para Processamento de ACL. Estou curioso para saber se alguém conseguiu isso para trabalhar corretamente e em caso afirmativo, se você pudesse fornecer alguns exemplos de configuração.

Além disso, se houver alguma maneira de fazer isso que não envolva caixa de correio configuração (por exemplo, a capacidade de aplicar uma ACL a news.* ou alguma coisa), isso seria incrível. Obtendo o comportamento documentado para ACLs padrão funcionando seria um passo na direção certa.

    
por larsks 22.02.2011 / 04:37

1 resposta

2

Eu vejo que este é um post antigo, então imagino que você já tenha percebido isso. Caso contrário, espero que você considere útil o seguinte.

Verifique se você definiu um namespace private , além do público. Algo ao longo das linhas de:

namespace {
  type = private
  separator = . # don't mix separators
  prefix =
  #location defaults to mail_location.
  inbox = yes
}

Neste ponto, mail_location é um parâmetro obrigatório, atribua um valor adequado ao seu ambiente, por exemplo:

mail_location = maildir:~/Maildir

O seguinte também é necessário em dovecot.conf (ou em uma das configurações adicionais em etc / conf.d) para ativar o plugin acl:

mail_plugins = acl
protocol imap {
  mail_plugins = $mail_plugins imap_acl
} 

Se você instalou o dovecot da origem com o prefixo padrão de /usr/local - como parece ser o caso -, então, espero que o seguinte seja mais apropriado para configurar as ACLs globais:

plugin {
  acl = vfile:/usr/local/etc/dovecot/acls:cache_secs=300
}

Reinicie o pombal e você deve estar pronto.

Você também pode encontrar a seguinte documentação útil:

  1. link
  2. link

Boa sorte!

    
por 16.08.2011 / 21:05