Sunil Mohan Adapa 5389303e98
email: Use privileged decorator for actions
Tests:

- Functional tests work (uninstall test does not work)
- Initial setup works
  - Domains are setup
  - Home is setup (others don't have permission for /var/mail)
  - Aliases configuration is setup
  - Postfix is setup
  - rspamd is setup
- Changing primary domain works
- Adding/removing domains works
- Error during operations is handle properly: getting dkim key
- Setting up DKIM key when changing, adding/removing domain works
  - Showing DKIM key in app page works

Signed-off-by: Sunil Mohan Adapa <sunil@medhas.org>
Reviewed-by: James Valleroy <jvalleroy@mailbox.org>
2022-10-08 18:51:57 -04:00

23 lines
640 B
Python

# SPDX-License-Identifier: AGPL-3.0-or-later
"""
Privileged actions to setup users' dovecot mail home directory.
See:
https://doc.dovecot.org/configuration_manual/authentication/user_databases_userdb/
"""
import subprocess
from plinth.actions import privileged
@privileged
def setup_home():
"""Set correct permissions on /var/mail/ directory.
For each user, /var/mail/<user> is the 'dovecot mail home' for that user.
Dovecot creates new directories with the same permissions as the parent
directory. Ensure that 'others' can't access /var/mail/.
"""
subprocess.run(['chmod', 'o-rwx', '/var/mail'], check=True)