Condividere cartelle imap con altri utenti in dovecot
Presupposti
- Lo scopo è condividere una cartella imap di un utemte con altri, impostando chi ci può accedere e come
- Le cartelle condivise sottoscrivibili saranno disponibili nella cartella "shared" che apparirà solo se l'utente ha accesso a qualche cartella condivisa da altri
- Se si utilizzano gli utenti di sistema, le permission delle Maildir dovranno consentire l'accesso ai folder condivisi. Usare /var/log/mail.log per vedere i problemi di accesso. Aiuta molto avere tutti gli utenti mail in un gruppo unico, così da assegnare l'accesso alle maildir condivise a questo gruppo.
Configurazione Dovecot
- Tutto è fatto in
sudoedit /etc/dovecot/dovecot.conf
- Impostare il namespace privato, quello delle cartelle personali:
namespace private {
separator = /
prefix =
inbox = yes
}
- Impostare il namespace delle cartelel condivise:
namespace shared {
separator = /
location = maildir:%%h/Maildir:INDEX=~/Maildir/shared/%%u:CONTROL=~/Maildir/shared/%%u
# vuol dire che le cartelle condivise stanno nella directory
# condivisore/Maildir, verrano visualizzate in guardone/shared/condivisore
# ed i files temporanei saranno salvati nello stesso folder, altrimenti è
# necessario poter scrivere nella maildir del condivisore
subscriptions = no
list = children
# elenca la gerarchia shared solo se ci sono cartelle disponibili. Impostare
# a yes se si vuole visualizzare sempre
#
hidden = no
inbox = no
}
- Abilitare le acl imap:
protocol imap {
...
mail_plugins = acl imap_acl
- Abilitare le acl per lda
protocol lda {
mail_plugins = acl
auth_socket_path = /var/run/dovecot/auth-master
# il socket è importantissimo, perchè permette di listare le cartelle
# condivise !!
# Se non si vedono le cartelle nonostante le permission, c'è qualcosa che non
# va col socket
}
- Impostare il socket di autenticazione di cui si è parlato prima:
auth default {
...
socket listen {
master {
path = /var/run/dovecot/auth-master
mode = 0666
# Si, ci si deve poter scrivere ... TO BE FIXED
}
}
...
}
- Impostare il percorso dell'indice delle cartelle condivise:
plugin {
...
acl = vfile
acl_shared_dict = file:/var/lib/dovecot/shared-mailboxes
- Testare dovecot:
sudo dovecot -n
- Riavviare dovecot
sudo invoke-rc.d dovect restart
Impostazione permission di sistema
- L'indice delle shared folders deve essere scrivibile:
sudo touch /var/lib/dovecot/shared-mailboxes sudo chmod 0666 /var/lib/dovecot/shared-mailboxes
- Purtroppo deve creare anche un dotfile li dentro ...
sudo chmod 0777 /var/lib/dovecot/
- Verificare le permission del socket di autenticazione:
ls /var/run/dovecot/auth-master srw-rw-rw- 1 root root 0 Nov 8 20:17 /var/run/dovecot/auth-master
Impostazione permission folder da condividere
- Ipotizziamo di voler condividere la inbox di uno user chiamato condivisore a favore di uno chiamato lettore, ed entrambi appartengono al gruppo users
- Impostiamo le permission sulla maildir di condivisore
sudo chmod 0750
- Rendiamo tutte le cartelle accessibili al gruppo user, così potranno essere condivise:
cd /home/condivisore/Maildir sudo chmod -R g-rX .
- Naturalmente, se si vuole condividere in rw, le permission devono essere rwX :-(
Condivisione della cartella
- Coi comandi IMAP vedi IMAP ACL examples in SharedMailboxes/Shared - Dovecot Wiki
- Con Thunderbird, installare l'addon Imap-ACL-Extension :: Add-ons for Thunderbird
- Con le versioni recenti, si può far tasto dx sulal cartelal e scegliere "Condivisione"
- Condividere la INBOX con l'utente lettore in sola lettura
- Da Thunderbird con l'utente lettore, fare un refresh delle cartelel imap, ed apparirà la cartell
shared/condivisore/INBOX
Riferimenti
- Old Nabble - Dovecot - Problem in sharing mailboxes across users
- (Dovecot) Thunderbird and shared mailboxes
- email - Applying ACLs to a Dovecot public namespace - Server Fault
- IRedMail/FAQ/Share.IMAP.Folder - iRedMail
- How create public & shared folder with dovecot - iRedMail Support - iRedMail
- Addition/Shared folders with dovecot 1.2 - iRedMail
- Dovecot - Secure IMAP server
- SharedMailboxes/Public - Dovecot Wiki
- Dovecot shared mailboxes (the correct way) | Tumbleweed Rants
- Salik Rafiq's Linux Diary: Shared folders in dovecot (aka how to hide useful information)
- (ubuntu) Shared Mailbox / Folders at Dovecot - Ubuntu Forums