Skip to main content

Dovecot user-controllable passwords

Passwords used by your users to log into a system using SSH are precious. Way too precious to have mail software store them in plaintext on arbitrary devices (laptops, phones, …). Unless you are using LDAP to store password hashes for your system users, Dovecot doesn’t offer an out-of-the-box way to let regular users set passwords for IMAP that differ from those they use to log into the system.

This tool provides a simple way of implementing separate passwords in Dovecot for regular system users. Passwords are stored inside each user’s home directory, and they can be modified from the command line. It implements Dovecot’s checkpassword interface for password verification.

Future plans include:

  • setting additional attributes (such as mail to override the system-default mail_location)

Installation

This is a regular Python package installable using pip. Obviously, it depends on Python (tested on 3.4+). If you’re feeling adventurous, just run pip install dovecot-userpassdb as root to have everything installed inside /usr/local. If you prefer to keep things tidy and isolated, you can follow these steps instead:

  1. Create a Python virtualenv:

    # python -m venv /usr/local/venv-dovecot-userpassdb
    # PIP="/usr/local/venv-dovecot-userpassdb/bin/pip"
    # $PIP install -U pip                                # to be up-to-date
  2. Install the dovecot-userpassdb package inside the new virtualenv:

    # $PIP install dovecot-userpassdb
  3. Make the newly-installed imap-passwd script available in system PATH:

    # ln -s /usr/local/venv-dovecot-userpassdb/bin/imap-passwd /usr/local/bin
  4. Finally, configure Dovecot to use the provided dovecot-checkpass script, for example by including the following block:

    passdb {
        driver = checkpassword
        args = /usr/local/venv-dovecot-userpassdb/bin/dovecot-checkpass
    }

Metadata

Release files for dovecot-userpassdb 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dovecot-userpassdb 0.1.1
File Size Uploaded Provenance Actions
dovecot-userpassdb-0.1.1.tar.gz 5.4 kB Without provenance Details for dovecot-userpassdb-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for dovecot-userpassdb 0.1.1
File Interpreter ABI Platform Actions
dovecot_userpassdb-0.1.1-py2.py3-none-any.whl Python 3, Python 2 none any Details for dovecot_userpassdb-0.1.1-py2.py3-none-any.whl

Total release size: 10.5 kB

Release files / dovecot-userpassdb-0.1.1.tar.gz

Download URL dovecot-userpassdb-0.1.1.tar.gz
Size 5.4 kB
Tags Source
SHA-256 checksum
How to use checksums
742fdaac4dd346b818720d5a900c029471c5b97dd6eef7566ad54e0c11ad0a0e
BLAKE2b-256 checksum
How to use checksums
aa0c096940f3bc87af523157835086f0a0c3829d06fb4645e6424acc2640a4aa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Release files / dovecot_userpassdb-0.1.1-py2.py3-none-any.whl

Download URL dovecot_userpassdb-0.1.1-py2.py3-none-any.whl
Size 5.1 kB
Tags Python 2 Python 3
SHA-256 checksum
How to use checksums
fd1e9f9d93fa184b21b9ea72f865d1326fe8cb7d993c0833d67b6c3ed0ab174b
BLAKE2b-256 checksum
How to use checksums
967284096ad104ca80e5af560c818a311b324e97a5eb208293543a652f5c6487
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.11.7

Security for dovecot-userpassdb 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page