Updated docs.
[pwmd.git] / doc / pwmd.1
blob42eb4b6169259c3a0bd4dfea77e6799ddca8d8e0
1 .\" This program is free software; you can redistribute it and/or modify
2 .\" it under the terms of the GNU General Public License as published by
3 .\" the Free Software Foundation; either version 2 of the License, or
4 .\" (at your option) any later version.
5 .\" 
6 .\" This program is distributed in the hope that it will be useful,
7 .\" but WITHOUT ANY WARRANTY; without even the implied warranty of
8 .\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
9 .\" GNU General Public License for more details.
10 .\" 
11 .\" You should have received a copy of the GNU General Public License
12 .\" along with this program; if not, write to the Free Software
13 .\" Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
14 .de URL
15 \\$2 \(laURL: \\$1 \(ra\\$3
17 .if \n[.g] .mso www.tmac
18 .TH PWMD 1 "30 Jun 2007" "Password Manager Daemon" "Password Manager Daemon"
19 .SH NAME
21 pwmd \- local socket data server
22 .SH SYNOPSIS
23 .B pwmd
24 [\-hv] [\-f <rcfile>] [\-I <filename>] [\-D]
26 .SH DESCRIPTION
27 .B pwmd
28 is a daemon that listens for connections on a local socket. Clients connect to
29 the server and can get or modify "account" data. The word "account" is just a
30 placeholder for the element describing and item. But what the data actually is
31 can be anything. The data is stored in an AES encrypted XML file.
33 .SH OPTIONS
34 .TP
35 .I "\-f rcfile"
36 Specify an alternate configuration file. The default is \fB~/.pwmdrc\fR.
37 .TP
38 .I "\-I filename"
39 Import an XML file prompting for a key to use for encryption. The encrypted
40 data will be written to stdout.
41 .TP
42 .I "\-D"
43 Disable the LIST and DUMP protocol commands.
44 .TP
45 .I "\-v"
46 Version information.
47 .TP
48 .I "\-h"
49 Help text.
51 .SH CONFIGURATION FILE
52 Blank lines and lines beginning with '#' are ignored. Some options can be
53 grouped together to have file specific settings. A file section is declared by
54 surrounding the filename with braces ([filename]). Default options may be
55 specified in a [default] section. If the first character of a string value is
56 a tilde, it will be expanded to your home directory. First the global options:
57 .TP
58 .I "socket_path=<string>"
59 Listen on the specified socket. The default is \fB~/.pwmd/socket\fR.
60 .TP
61 .I "data_directory=<string>"
62 Where
63 .B pwmd
64 should store and retrieve data files. The default is \fB~/.pwmd\fR.
65 .TP
66 .I "disable_mlockall=<boolean>"
67 If set to "true" then
68 .B pwmd
69 wont call
70 .BR mlockall (2).
71 If you have resource limits beyond your control and
72 .B pwmd
73 is taking to much physical memory then this option may help at the cost of
74 security. The data might be swapped to virtual memory and later recovered.
75 Reguardless of this option
76 .BR mlock (2)
77 will still be used for the file cache. The default is \fBfalse\fR.
78 .TP
79 .I "cache_size=<integer>"
80 Specfies the size of the file cache. Must be in multiples of your systems
81 \fBPAGE_SIZE\fR. The default is one page.
82 .TP
83 .I "log_path=<string>"
84 Logs informational messages to the specified file. The default is
85 \fB~/.pwmd/.log\fR.
86 .TP
87 .I "enable_logging=<boolean>"
88 Enable or disable logging to \fBlog_path\fR. The default is \fBfalse\fR.
89 .TP
90 .I "cache_push=<list>"
91 A list of filenames separated by commas that will be pushed into the file
92 cache upon startup.
93 .B pwmd
94 will ask for the key for each file specified unless the key was specified with
95 a \fBkey\fR or \fBkey_file\fR parameter in a matching file section. The
96 default is none.
97 .PP
98 Below are options that can be in the [default] or [filename] section. If in
99 both, then [filename] will have precedence.
101 .I "cache_timeout=<integer>"
102 The number of seconds for the life of the cached file. If -1, the file is
103 cached forever. If 0, each time the file is opened or saved a key will be
104 required.
106 .I "iterations=<integer>"
107 The number of times to encrypt the data. A value of 10000 or more will make
108 dictionary attacks very slow depending on the CPU. The default is 0.
110 .I "key=<string>"
111 The initial key to use for this file. If specified in the "default" section
112 then "default" is treated as a filename and not a default for other files.
114 .I "key_file=<string>"
115 Same as above but obtain the key from the specified filename with the key
116 being on the first line of the file.
117 .SH SIGNALS
119 .B SIGHUP
120 Clears the entire file cache. If there are any clients connected, a key will
121 be required for the next OPEN or SAVE command.
123 .SH FILES
125 .B ~/.pwmdrc
126 Default configuration file.
128 .B ~/.pwmd
129 Default data directory.
131 .B ~/.pwmd/socket
132 Default listening socket.
134 .B /dev/shm/pwmd.<uid>
135 On Linux, and maybe other systems, where the file cache is stored for the
136 duration of the daemon. If your
137 .BR mmap (2)
138 supports MAP_ANONYMOUS with MAP_SHARED then no file will need to be created.
140 .SH AUTHOR
141 Ben Kibbey <bjk@luxsci.net>
143 .URL "http://bjk.sourceforge.net/pwmd/" "PWMD Homepage" .
145 .SH "SEE ALSO"
146 .BR shm_open (2),
147 .BR mlock (2),
148 .BR mlockall (2),
149 .BR libxml (3) ,
150 .BR mmap (2)