pm

barebones password manager
git clone git://git.ckyln.com/~cem/pm.git
Log | Files | Refs | README

README.md (1859B)


      1 # Password Manager
      2 
      3 Barebones password manager with absolutely no fancy features. By
      4 that I mean,
      5 
      6 - No password generation
      7 - No git integration
      8 - No questions asked
      9 - No grepping/finding passwords
     10 - No clipboard support
     11 - No tree view
     12 - Does not ask for password input (reads from stdin)
     13 - Does not check for 'sneaky paths?'
     14 
     15 Supports adding/deleting/listing/showing passwords. I don't
     16 intend on implementing any more features. You can wrap this
     17 script with something other to make use of it. See the contrib
     18 directory for that.
     19 
     20 Currently less than 35 SLOC. It's almost 20 times smaller
     21 than `pass` which has a little less than 600 SLOC.
     22 
     23 
     24 To install run, as root if necessary
     25 
     26     make install
     27 
     28 You really do think that asking for password for twice blah
     29 blah is a really important feature? Okay, then add a function
     30 to your shellrc/profile like this.
     31 
     32     pmask() {
     33         [ "$1" ] || return 1
     34         printf 'Enter your password: '
     35         read pass
     36         printf 'Enter your password again: '
     37         read pass2
     38         [ "$pass" = "$pass2" ] && {
     39             printf '%s' "$pass" | pm a "$1" && return 0
     40         }
     41         printf "Passwords don't match\n"
     42         return 1
     43     }
     44 
     45 You want to copy to clipboard? That's easy! You just need
     46 to do a `pm s passname | xclip -sel c`. You can still make
     47 it a function by doing this
     48 
     49     copypass() {
     50         [ "$1" ] || return 1
     51         pm s "$1" | xclip -sel c
     52     }
     53 
     54 The whole rationale is that you can already do that with simple
     55 commands. Why complicate (and possibly break) things by introducing
     56 them into a single script? If you want some function that is
     57 a must for you, implement it yourself with some script or
     58 a shell function. This way, it works just as you intended it. Or use
     59 helper functions that are located in contrib.
     60 
     61 You can install contrib scripts by running
     62 
     63     make -C contrib install
     64