Skip to main content

Dovecot user-controllable passwords

Project description

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
    }

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dovecot-userpassdb-0.1.1.tar.gz (5.4 kB view details)

Uploaded Source

Built Distribution

dovecot_userpassdb-0.1.1-py2.py3-none-any.whl (5.1 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file dovecot-userpassdb-0.1.1.tar.gz.

File metadata

  • Download URL: dovecot-userpassdb-0.1.1.tar.gz
  • Upload date:
  • Size: 5.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.7

File hashes

Hashes for dovecot-userpassdb-0.1.1.tar.gz
Algorithm Hash digest
SHA256 742fdaac4dd346b818720d5a900c029471c5b97dd6eef7566ad54e0c11ad0a0e
MD5 ca2483726b267436b8a14c38111b2072
BLAKE2b-256 aa0c096940f3bc87af523157835086f0a0c3829d06fb4645e6424acc2640a4aa

See more details on using hashes here.

File details

Details for the file dovecot_userpassdb-0.1.1-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for dovecot_userpassdb-0.1.1-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 fd1e9f9d93fa184b21b9ea72f865d1326fe8cb7d993c0833d67b6c3ed0ab174b
MD5 e526f4672e02d5c8ba16023848433ff4
BLAKE2b-256 967284096ad104ca80e5af560c818a311b324e97a5eb208293543a652f5c6487

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page