pdb

Simple password manager
Log | Files | Refs

README.md (1981B)


      1 An encrypted password store with dmenu integration.
      2 
      3 
      4 Security
      5 --------
      6 
      7 pdb uses lua-symmetric, which uses libsodium's secretbox to secure your
      8 passwords. It also uses lua-arc4random, which uses LibreSSL's
      9 `arc4random` for generating passwords. In short, lua-symmetric uses
     10 standard, modern crypto.
     11 
     12 It prompts you for your password when you are adding it rather than
     13 passing it as a command line argument so people can't grab it from `ps`,
     14 but it doesn't disable console echoing so someone looking over your
     15 shoulder can obviously see what you type.
     16 
     17 
     18 Requirements
     19 ------------
     20 
     21 [arc4]: https://github.com/mikejsavage/lua-arc4random
     22 [symmetric]: https://github.com/mikejsavage/lua-symmetric
     23 
     24 lua, [lua-arc4random][arc4], [lua-symmetric][symmetric]  
     25 Optionally: xdotool, dmenu for pdbmenu
     26 
     27 
     28 Upgrading
     29 ---------
     30 
     31 As of 10th Feb 2015 (commit `22ef6c142d`), pdb uses a new database
     32 format. I have included a utility to update an existing password
     33 database, which you can run with `lua
     34 update-1-openssl-to-libsodium.lua`. Note that it also generates a new
     35 secret key.
     36 
     37 As of 21st Feb 2015, (commit `2dd625b`), pdb uses flatfiles instead of a
     38 database. You need to run `lua update-2-db-to-flatfiles.lua` if you wish
     39 to use more recent versions of pdb.
     40 
     41 
     42 Usage
     43 -----
     44 
     45 pdb requires you to put a shared secret on each computer you want to
     46 use the database on, but the database itself can be given to entities
     47 you don't trust (Dropbox, etc) without revealing your passwords.
     48 
     49 Initialise the database on one of your machines with `pdb init`. You can
     50 then start playing with it (`pdb add`, `pdb list`, etc. run `pdb` by
     51 itself for a full list).
     52 
     53 An example session:
     54 
     55 	$ pdb init
     56 	You should chmod 600 /home/mike/.pdb/key2
     57 	$ pdb add test 
     58 	Enter a password for test: fdsa
     59 	$ pdb gen test2
     60 	$ pdb list 
     61 	test
     62 	test2
     63 	$ pdb get test
     64 	fdsa
     65 	$ pdb get test2
     66 	)"QI p!8j.c9g!yQ:d8Dc9XdHKWqKz\"
     67 
     68 pdbmenu is a little shell script that lets you pick a password with
     69 dmenu, then types it in for you.