Fix multiple hard-coded vmail

This commit is contained in:
Spitap
2023-01-23 19:24:28 +01:00
parent 6144f7967c
commit 7cae12b32e
5 changed files with 12 additions and 14 deletions

View File

@@ -256,7 +256,7 @@ ConfigDictTemplate = [
},
{
"option": "user",
"default": "vmail",
"default": "dovecot",
},
{
"option": "home_dir",

View File

@@ -91,6 +91,7 @@ class Dovecot(base.Installer):
"db_driver": self.db_driver,
"mailboxes_owner_uid": pw_mailbox[2],
"mailboxes_owner_gid": pw_mailbox[3],
"mailbox_owner": self.mailboxes_owner,
"modoboa_user": self.config.get("modoboa", "user"),
"modoboa_dbname": self.config.get("modoboa", "dbname"),
"modoboa_dbuser": self.config.get("modoboa", "dbuser"),
@@ -125,10 +126,7 @@ class Dovecot(base.Installer):
utils.exec_cmd("chmod +x /usr/local/bin/postlogin.sh")
# Add mailboxes user to dovecot group for modoboa mailbox commands.
# See https://github.com/modoboa/modoboa/issues/2157.
system.add_user_to_group(
self.config.get("dovecot", "mailboxes_owner"),
'dovecot'
)
system.add_user_to_group(self.mailboxes_owner, 'dovecot')
def restart_daemon(self):
"""Restart daemon process.

View File

@@ -104,8 +104,8 @@ namespace inbox {
# System user and group used to access mails. If you use multiple, userdb
# can override these by returning uid or gid fields. You can use either numbers
# or names. <doc/wiki/UserIds.txt>
#mail_uid =
#mail_gid =
mail_uid = %{mailboxes_owner_uid}
mail_gid = %{mailboxes_owner_gid}
# Group to enable temporarily for privileged operations. Currently this is
# used only with INBOX when either its initial creation or dotlocking fails.

View File

@@ -92,14 +92,14 @@ service postlogin {
service stats {
# To allow modoboa to access available cipher list.
unix_listener stats-reader {
user = vmail
group = vmail
user = %{mailboxes_owner}
group = %{mailboxes_owner}
mode = 0660
}
unix_listener stats-writer {
user = vmail
group = vmail
user = %{mailboxes_owner}
group = %{mailboxes_owner}
mode = 0660
}
}
@@ -120,7 +120,7 @@ service auth {
# permissions (e.g. 0777 allows everyone full permissions).
unix_listener auth-userdb {
#mode = 0666
user = vmail
user = %{mailboxes_owner}
#group =
}
@@ -154,7 +154,7 @@ service dict {
# For example: mode=0660, group=vmail and global mail_access_groups=vmail
unix_listener dict {
mode = 0600
user = vmail
user = %{mailboxes_owner}
#group =
}
}

View File

@@ -78,7 +78,7 @@ scache unix - - - - 1 scache
# Also specify in main.cf: maildrop_destination_recipient_limit=1
#
maildrop unix - n n - - pipe
flags=DRhu user=vmail argv=/usr/bin/maildrop -d ${recipient}
flags=DRhu user=%{dovecot_mailboxes_owner} argv=/usr/bin/maildrop -d ${recipient}
#
# ====================================================================
#