A word from our sponsors

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

Docs

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 <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

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 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://<user>:<pass>@<host[:port]>/<database>
  • MySQL: mysql://<user>:<pass>@<host[:port]>/<database>
  • MongoDB: mongodb://<user>:<pass>@<host[:port]>/<database>

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': '<file>', 'delimiter':'<char>'}] All nodes under the current filter are exported.
h [topic], help [topic] Print a help message for a command.
filter <tag> 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 <tag>, list <tag> List nodes that match current or specified filter.
n, new Creates a new node.
o <ID>, open <ID> 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 <ID|tag>, print <ID|tag> 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

this namespace doesn't exist: sw:pwman3:recipies

Known Issues

None

This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website. More information about cookies