This is an old revision of the document!
Pwman3 aims to provide a simple but powerful command line interface for password management. It allows one to store your password in a SQLite database locked by a master password which can be encrypted with different algorithms (e.g AES, Blowfish, DES3, IDEA, etc.).
Pwman3 is a nice command line password manager, which is smart enough to use different SQL Databases (MySQL, SQLite, PostgreSQL). Pwman3 can also copy passwords to the clipboard (on Mac and Linux) without exposing them, so you save some typing. Besides managing and storing passwords, Pwman3 can also generate passwords using different algorithms.
Nice Features in pwman3:
File or Directory | Description |
---|---|
$HOME/.pwman/ | User-specific pwman3 directory. |
$HOME/.pwman/pwman.db | The user's default SQLite password database if no other database or location is specified. |
File or Directory | Description |
---|---|
$HOME/.pwman/config | The application's configuration file. |
Manual pages:
user@host:~$ man pwman3
Readme file:
user@host:~$ zless /usr/share/doc/pwman3/README.md.gz
Inline help:
user@host:~$ pwman3 pwman> help Documented commands (type help <topic>): ======================================== EOF copy e export h list o passwd save clear cp edit filter help n open print set cls delete exit forget l new p rm tags Miscellaneous help topics: ========================== import Undocumented commands: ====================== ls
To install pwman3 on Debian:
root@host:~$ apt-get update root@host:~$ apt-get -y install pwman3
The user-specific pwman3 configuration file $HOME/.pwman/config
has the following INI-style structure:
[section-name] option = value option = value ...
The following table describes the configuration options and their possible values as well as the section names where those configuration options are valid in:
Section | Option | Value | Description |
---|---|---|---|
Readline | history | String | Path to the file containing history of the commands typed. |
Global | save | True / False | Whether the configuring file should be saved. |
Global | colors | yes / no | If set to no, no colors used in output. This is useful for breil terminals. |
Global | cp_timeout | Integer | Number of seconds before the clipboard is erased. |
Global | cls_timeout | Integer | Number of seconds before the screen is clean after a print. |
Global | umask | String | The umask in which database and configuration files are written. |
Global | xsel | String | Path to the xsel binary (Linux and BSD only). |
Global | lock_timeout | Integer | Set the time period (in seconds) after which the database is locked. |
Database | dburi | Database URI according to RFC3986 | SQLite, Postgreql, MySQL and MongoDB are currently supported. See below for examples. |
Updater | supress_version_check | yes / no | Check for newer versions of pwman3. |
Updater | client_info | string | SHA256 digest of host name and username. Used for identifying the client. |
Database URI examples:
sqlite:///path/to/your/db
postgresql://<user>:<pass>@<host[:port]>/<database>
mysql://<user>:<pass>@<host[:port]>/<database>
mongodb://<user>:<pass>@<host[:port]>/<database>
Upon inital start, pwman3 generates a new password database:
user@host:~$ pwman3 Please enter your new password: Please enter your new password again: Pwman3 0.5.1d (c) visit: http://pwman3.github.io/pwman3/ pwman>
The new password database is stored in the user-specific pwman3 directory, e.g.:
user@host:~$ ls -l ~/.pwman/ total 12 -rw------- 1 user user 9216 Sep 14 07:05 pwman.db
None
None
None