feat: add support for local dovecot users via passwd-file

This introduces functionality to manage local Dovecot users utilizing a
static `vmail` system user and a flat password file.

Key changes:
- Added `dovecot_users` configuration list to defaults.
- Implemented creation of `vmail` user and group (uid/gid 5000).
- Added logic to generate a random security token using `pwgen` to prefix
  user passwords.
- Created `auth-dovecot-users.conf.ext` and `dovecot-users.j2` templates
  to handle `passwd-file` authentication.
- Updated `10-auth.conf` to include the new local users configuration.
- Updated README with usage instructions and token details.
This commit is contained in:
2026-02-10 17:51:23 -03:00
parent e209749f74
commit dfd5d89905
6 changed files with 102 additions and 1 deletions

View File

@@ -0,0 +1,6 @@
# Dovecot users file
# Ansible managed: {{ ansible_managed }}
# user:{scheme}hash:uid:gid:gecos:home:shell:extra_fields
{% for user in dovecot_users %}
{{ user.name }}:{SHA512-CRYPT}{{ (dovecot_token_value + user.pass) | password_hash('sha512', dovecot_token_value) }}::::::
{% endfor %}