Zentyal Forum, Linux Small Business Server

International => Magyar => Topic started by: kozmav on April 02, 2014, 03:11:44 pm

Title: SOGo felületről a megosztott mappák nem mennek
Post by: kozmav on April 02, 2014, 03:11:44 pm
Sziasztok!

Azt vettem észre, hogy a Zentyal 3.4 -ben a webes felületen hiába osztok meg mail mappát vagy naptárt arra nem tudok feliratkozni más felhasználóként.
Hiába osztom meg, nem menti a jogokat és a feliratkozás menüpont nem aktív!

Egyáltalán működik ez a feature? Mert igérnek mindent a bejelentésben csak éppen nem megy!

Title: Re: SOGo felületről a megosztott mappák nem mennek
Post by: kozmav on April 03, 2014, 12:49:05 pm
Ezt találtam:
Known Issues with SOGo backend
Sharing mail folders is not supported

http://www.openchange.org/developers/relnotes/2.0-quadrant.html
Title: Re: SOGo felületről a megosztott mappák nem mennek
Post by: Szemy on April 10, 2014, 04:23:24 pm
Ez érdekes mert a webmail fel van készítve mappák jogosultság kezelésére valaki okos megtudná mondani hogy mikorra várható ??
Title: Re: SOGo felületről a megosztott mappák nem mennek
Post by: Szemy on April 15, 2014, 10:07:55 am
Ezt találtam nekem működik!!! :)

Hallo,

I solved the problem myself...
A good place for reading is the dovecot wiki especially the part with imap acl :-)

At first I had to realize that all the stuff in /etc/dovecot/conf.d is not active . All changes have to made in the dovecot template.

With my config I'm able to set the imap acl's via SOGo, Kmail, Thunderbird (more clients I didn't checked).

I cant't understand why this behaviour of dovecot is not configured by default because of it's absolutely necessary for SOGo!!!!

My dovecot.conf.mas looks now as following:

Code: [Select]
<%args>
    $uid
    $gid

    $openchange
    %protocols

    $firstValidUid
    $firstValidGid
    $mailboxesDir
    $postmasterAddress

    $antispamPlugin

    $keytabPath
    $gssapiHostname
</%args>
<%init>
# sieve dir is also hoem directory for compability
# with previous versions of this module
my $sieveDir = "$mailboxesDir/sieve";
my @protocolsReduced;
if ($protocols{pop3} or $protocols{pop3s}) {
    push @protocolsReduced, 'pop3';
}
if ($openchange or $protocols{imap} or $protocols{imaps}) {
    push @protocolsReduced, 'imap';
}
if ($protocols{managesieve}) {
    push @protocolsReduced, 'sieve';
}
</%init>
# Generated by Zentyal

% if (@protocolsReduced) {
protocols = <% "@protocolsReduced" %>
% } else {
protocols = none
% }

##
## Authentication processes
##

auth_mechanisms = gssapi plain
auth_krb5_keytab = <% $keytabPath %>
auth_gssapi_hostname = <% $gssapiHostname %>
auth_debug = no
auth_verbose = no

service auth {
  executable = /usr/lib/dovecot/auth
  unix_listener /var/spool/postfix/private/auth {
    group = postfix
    mode = 0660
    user = postfix
  }
  unix_listener auth-master {
    group = ebox
    mode = 0600
    user = ebox
  }
  user = dovecot
}

userdb {
    driver = ldap
    args = /etc/dovecot/dovecot-ldap.conf
}

passdb {
    driver = ldap
    args = /etc/dovecot/dovecot-ldap.conf
}

% if ($openchange) {
passdb {
    driver = sql
    args = /etc/dovecot/dovecot-sql.conf
}
% }

disable_plaintext_auth = yes

##
## Logging
##

log_timestamp = "%Y-%m-%d %H:%M:%S "

##
## SSL settings
##

ssl = yes
ssl_cert =</etc/dovecot/ssl/dovecot.pem
ssl_key =</etc/dovecot/ssl/dovecot.pem

verbose_ssl = no

##
## Login processes
##

##
## Mailbox locations and namespaces
##

mail_uid=<% $uid %>
mail_gid=<% $gid %>

##
## Mail processes
##

mail_debug = no

first_valid_uid = <% $firstValidUid %>
first_valid_gid = <% $firstValidGid %>

##
## Mailbox handling optimizations
##

##
## Maildir-specific settings
##
mail_location = maildir:<% $mailboxesDir %>/%$
mail_home     = <% $sieveDir %>/%d/%u

# When creating any namespaces, you must also have a private namespace:
namespace {
  type = private
  separator = /
  prefix =
  #location defaults to mail_location.
  inbox = yes
  subscriptions = yes
}

namespace {
  type = shared
  separator = /
  prefix = shared/%%u/
  location =  maildir:<% $mailboxesDir %>/%%d/%%n:INDEX=<% $mailboxesDir %>/%d/%n/Shared/%%u
  subscriptions = no
  list = children
}




##
## mbox-specific settings
##

##
## dbox-specific settings
##
% if ($openchange or $protocols{'imap'} or $protocols{'imaps'}) {
   <& .imap,
      openchange => $openchange,
      imap => $protocols{'imap'},
      imaps => $protocols{'imaps'},
      antispamPlugin => $antispamPlugin,
   &>
% }

% if ($protocols{'pop3'} or $protocols{'pop3s'}) {
   <& .pop3,
      pop3 => $protocols{'pop3'},
      pop3s => $protocols{'pop3s'},
   &>
% }

<& .managesieve,
   enabled => $protocols{'managesieve'}
&>


##
## LDA specific settings
##
protocol lda {
  # Address to use when sending rejection mails.
  postmaster_address = <% $postmasterAddress %>

  # UNIX socket path to master authentication server to find users.
  auth_socket_path = /var/run/dovecot/auth-master

  # Enabling Sieve plugin for server-side mail filtering and quota for quota
  # support
  mail_plugins = sieve quota
}

##
## Dictionary server settings
##
dict {
  #quota = mysql:/etc/dovecot/dovecot-dict-quota.conf
  #expire = db:/var/lib/dovecot/expire.db
}

##
## Plugin settings
##
plugin {
  quota = maildir:User quota
  quota_rule = *:storage=0

  sieve = <% $sieveDir %>/%d/%u/sieve-script
  sieve_global_path = <% $sieveDir %>/default.sieve
  sieve_storage = <% $sieveDir %>/%d/%u
  sieve_dir     = <% $sieveDir %>/%d/%u

  autocreate = Trash
  autocreate2 = Spam
  autocreate3 = Sent
  autocreate4 = Drafts
  autosubscribe = Trash
  autosubscribe2 = Spam
  autosubscribe3 = Sent
  autosubscribe4 = Drafts

% if ($antispamPlugin->{enabled} ) {
  <& .antispamPlugin, %{ $antispamPlugin } &>
% }
}

!include_try /etc/dovecot/extra.conf

<%def .imap>
<%args>
$openchange
$imap
$imaps
$antispamPlugin
</%args>
<%init>
my $imapAddress = $imap ? '*' : '127.0.0.1';
my $imapPort = ($imap or $openchange) ? 143: 0;
my $imapsAddress = $imaps ? '*' : '127.0.0.1';
my $imapsPort = ($imaps or $openchange) ? 993: 0;
my @imapPlugins = qw(quota imap_quota autocreate);
push @imapPlugins, 'antispam' if $antispamPlugin->{enabled};
</%init>
##
## IMAP specific settings
##
service imap-login {
  inet_listener imap {
    address = <% $imapAddress %>
    port = <% $imapPort %>
  }
  inet_listener imaps {
    address = <% $imapsAddress %>
    port = <% $imapsPort %>
  }
}

service imap {
}

protocol imap {
  mail_plugins = <% "@imapPlugins" %> acl imap_acl
}

plugin {
  acl = vfile
}

plugin {
   acl_shared_dict = file:/var/vmail/%d/shared-mailboxes.db
}

</%def>


<%def .pop3>
<%args>
$pop3
$pop3s
</%args>
<%init>
my $pop3Port = $pop3 ? 110: 0;
my $pop3sPort = $pop3s ? 995: 0;
</%init>
service pop3-login {
  inet_listener pop3 {
    port = <% $pop3Port %>
  }
  inet_listener pop3s {
    port = <% $pop3sPort %>
  }
}

service pop3 {
}

protocol pop3 {
  mail_plugins = quota
}
</%def>

<%def .antispamPlugin>
<%args>
$enabled
$mailtrain
$args
$spamArgs
$hamArgs
</%args>
antispam_mail_tmpdir = /tmp
antispam_mail_spam =<% $spamArgs %>
antispam_mail_notspam =<% $hamArgs %>
antispam_mail_sendmail = <% $mailtrain %>
antispam_mail_sendmail_args = <% $args %>
</%def>

<%def .managesieve >
<%args>
$enabled
</%args>
<%init>
my $port = $enabled ? 4190 : 0;
</%init>
##
## ManageSieve specific settings
##

service managesieve-login {
  inet_listener sieve {
    port = <% $port %>
  }
}

service managesieve {
}

protocol sieve {
}
</%def>