====== Introduction ====== 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: * copying of passwords to clipboard * launching specific uri's with default browser * password generators * not really a user oriented feature. However, it guarantees the elimination of silly bugs: pwman3 is test driven! ====== Links ====== ===== General ===== [[https://github.com/pwman3/pwman3]]\\ ====== Docs ====== [[http://pwman3.readthedocs.org/en/latest/]]\\ ====== Files and Directories ====== ===== General Files and Directories ===== ^ 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. | ===== Configuration Files ===== ^ File or Directory ^ Description ^ | ''$HOME/.pwman/config'' | The application's configuration file. | ====== Getting Help ====== 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 ): ======================================== 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 ====== Install ====== To install //pwman3// on Debian: root@host:~$ apt-get update root@host:~$ apt-get -y install pwman3 ====== Configuration ====== 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 [[https://tools.ietf.org/html/rfc3986|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: ''sqlite:///path/to/your/db'' * Postgreql: ''postgresql://:@/'' * MySQL: ''mysql://:@/'' * MongoDB: ''mongodb://:@/'' ====== Usage ====== ===== Initial Start ===== 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 ===== Commands ===== The following -- partially synonymous -- commands are available within //pwman3//: ^ Command ^ Description ^ | ''EOF'', ''exit'' | Exit the application. | | ''clear'' | Clears the filter criteria. | | ''cls'' | Clear the screen. | | ''copy'', ''cp'' | Copy password to X clipboard (//xsel// is required). | | ''delete'', ''rm'' | Deletes nodes. Multiple ids and nodes can be specifie , separated by a space. A range of ids can be specified in the format n-N. | | ''e'', ''edit'' | Edit a nodes. | | ''export [{'filename': '', 'delimiter':''}]'' | All nodes under the current filter are exported. | | ''h [topic]'', ''help [topic]'' | Print a help message for a command. | | ''filter '' | Filter nodes on a given tag. One or more tags are allowed. Displays current list of tags if called without arguments. | | ''forget'' | Forget the database password for the current session. | | ''l '', ''list '' | List nodes that match current or specified filter. | | ''n'', ''new'' | Creates a new node. | | ''o '', ''open '' | Launch default browser with ''xdg-open url'', for the given node id. Ihe URL must contain http:// or https://. | | ''passwd'' | Change the password on the database. | | ''p '', ''print '' | Display a node. ultiple ids and nodes can be specified, separated by a space. A range of ids can be specified in the format n-N. | | ''save [filename]'' | Save the current configuration. | | ''set [option] [value]'' | Set a configuration option. Display current value if no value is given. Display the complete configuration of option and value are omitted. | | ''tags'' | Display all tags in used in the database. | ===== Common Tasks ===== Create a new password entry -- node -- in the database: pwman> new Username: username Password (Blank to generate): [Repeat] Password (Blank to generate): Url: http://www.bityard.org Notes: 1st Test Please enter your password: Tags: Web List all nodes: pwman> filter Current tags: None pwman> ls 1. username@http://www.bityard.org Web Print a node by its ID: pwman> print 1 Node 1. Username: username Password: asdasdasd Url: http://www.bityard.org Notes: 1st Test Tags: Web Filter nodes by a given tag: pwman> ls 1. username@http://www.bityard.org Web 2. root@ SSH pwman> filter Web Current tags: Web pwman> ls 1. username@http://www.bityard.org Web Delete a node pwman> ls 1. username@http://www.bityard.org Web 2. root@ SSH pwman> delete 1 Are you sure you want to delete 'username@http://www.bityard.org' ([y/N])?y username@http://www.bityard.org deleted pwman> ls 2. root@ SSH ===== Status Check ===== None ====== Recipies ====== None ====== Known Issues ====== None