{"id":18910901,"url":"https://github.com/m00nwtchr/pam-keepassxc","last_synced_at":"2026-03-08T10:30:17.734Z","repository":{"id":258540493,"uuid":"872477514","full_name":"m00nwtchr/pam-keepassxc","owner":"m00nwtchr","description":"PAM authentication module for KeePassXC auto-unlocking","archived":false,"fork":false,"pushed_at":"2024-10-18T20:11:42.000Z","size":53,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-19T13:30:59.878Z","etag":null,"topics":["keepassxc","linux","pam"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/m00nwtchr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-10-14T14:00:15.000Z","updated_at":"2024-10-18T20:11:45.000Z","dependencies_parsed_at":"2024-10-19T13:41:28.841Z","dependency_job_id":null,"html_url":"https://github.com/m00nwtchr/pam-keepassxc","commit_stats":null,"previous_names":["m00nwtchr/pam-keepassxc"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m00nwtchr%2Fpam-keepassxc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m00nwtchr%2Fpam-keepassxc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m00nwtchr%2Fpam-keepassxc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/m00nwtchr%2Fpam-keepassxc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/m00nwtchr","download_url":"https://codeload.github.com/m00nwtchr/pam-keepassxc/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":239903527,"owners_count":19716100,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["keepassxc","linux","pam"],"created_at":"2024-11-08T09:46:51.351Z","updated_at":"2026-03-08T10:30:17.703Z","avatar_url":"https://github.com/m00nwtchr.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pam-keepassxc\nA PAM module for auto-unlocking KeePassXC.\n\n## ⚠️ WARNING\nThis is a prototype. There are no guarantees regarding security or compatibility with your setup.\n\n## Installation\n\n1. Install the following components:\n   - Copy the `libpam_keepassxc.so` library to `/usr/lib/security/pam_keepassxc.so`.\n   - Install the `systemd/keepassxc.service` as a user systemd service.\n   - Install the `systemd/org.keepassxc.KeePassXC.MainWindow.service` as a D-Bus service file.\n   - Create a systemd service alias (symlink) from `keepassxc.service` to `dbus-org.keepassxc.KeePassXC.MainWindow.service`.\n   - Run the command:\n     ```bash\n     systemctl --user daemon-reload\n     ```\n\n   See the [PKGBUILD](aur/PKGBUILD) for an example.\n\n2. Adjust your PAM configuration:\n   - Edit your `/etc/pam.d/swaylock` (or equivalent) file and add the following line as the last `auth` entry:\n     ```bash\n     auth optional pam_keepassxc.so\n     ```\n\n   - For login managers such as `greetd`, also add the following line to your `/etc/pam.d/greetd`, right after every other `session` entry:\n     ```bash\n     session optional pam_keepassxc.so\n     ```\n\n## Configuration\n\nCreate a configuration file at `$HOME/.config/security/pam_keepassxc.toml` with the following content:\n```toml\ndatabase_path = \"$HOME/\u003cyour database path\u003e\"\n```\n\nImportant: KeePassXC *must be* started as a systemd service. Make sure that you remove any other autostart configuration for KeePassXC. You don't need to enable the `keepassxc.service`, it will be started via D-Bus activation. If you wish to disable D-Bus activation for the `org.keepassxc.KeePassXC.MainWindow` D-Bus name, you can mask `dbus-org.keepassxc.KeePassXC.MainWindow.service`.\n\n## Contributing\n\nThis is my first experience working with PAM, so I would appreciate any feedback on potential security issues and other improvements.\n\n## License\n\nThe source code in this repository is licensed under the [Mozilla Public License (MPL)](LICENSE). However, due to the inclusion of the GPLv3.0-licensed `pamsm` crate, any resulting compiled binaries are licensed under the GPLv3.0.\n\nIf you distribute the compiled binaries, you must comply with the terms of the GPLv3.0.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm00nwtchr%2Fpam-keepassxc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fm00nwtchr%2Fpam-keepassxc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fm00nwtchr%2Fpam-keepassxc/lists"}