Commit 6e48b6a9764c26bce488951cde1d7cd702a3f79e
1 parent
83d7e0ff
some cleanups in generated README.md
Showing
1 changed file
with
73 additions
and
247 deletions
1 | -man | |
2 | -=== | |
3 | - | |
4 | -[NAME](#NAME) | |
5 | - [SYNOPSIS](#SYNOPSIS) | |
6 | - [DESCRIPTION](#DESCRIPTION) | |
7 | - [OPTIONS](#OPTIONS) | |
8 | - [ENVIRONMENT](#ENVIRONMENT) | |
9 | - [DEPENDENCIES](#DEPENDENCIES) | |
10 | - [SEE ALSO](#SEE%20ALSO) | |
11 | - [BUGS](#BUGS) | |
12 | - [AUTHOR](#AUTHOR) | |
13 | - [COPYRIGHT](#COPYRIGHT) | |
1 | +# accountmanager.sh | |
14 | 2 | |
15 | 3 | ------------------------------------------------------------------------ |
16 | 4 | |
17 | -NAME | |
18 | ----- | |
5 | +## NAME | |
19 | 6 | |
20 | 7 | accountmanager.sh − source all functionality into the current shell |
21 | 8 | |
22 | 9 | General purpose functions: |
23 | - random − create a non blocking stream of random data on stdout | |
24 | - rand\_printable − create a random string a printable characters | |
10 | + - random − create a non blocking stream of random data on stdout | |
11 | + - rand\_printable − create a random string a printable characters | |
25 | 12 | |
26 | 13 | Database management functions: |
27 | - amngrdbinit − initialize the SQLite account database | |
28 | - amngrdbdestroy − remove the SQLite account database | |
14 | + - amngrdbinit − initialize the SQLite account database | |
15 | + - amngrdbdestroy − remove the SQLite account database | |
29 | 16 | |
30 | 17 | Account management functions: |
31 | - amngradd − add an account credential to the database | |
32 | - amngrcreate − create a new account credential to the database | |
33 | - amngrcrypt − crypt the given data with GnuPG | |
34 | - amngrdelete − delete an account | |
35 | - amngrgen − generate a encrypted random passphrase | |
36 | - amngrgetoldpass − copy previous password of account to X clipboard | |
37 | - amngrgetolduser − copy previous username of account to X clipboard | |
38 | - amngrgetpass − copy active password of account to X clipboard | |
39 | - amngrgetuser − copy active username of account to X clipboard | |
40 | - amngrid − write the database id of a given account name to stdout | |
41 | - amngrlist − list all accounts | |
42 | - amngrrename − rename an account | |
43 | - amngrsearch − pattern search accounts | |
44 | - | |
45 | -SYNOPSIS | |
46 | --------- | |
18 | + - amngradd − add an account credential to the database | |
19 | + - amngrcreate − create a new account credential to the database | |
20 | + - amngrcrypt − crypt the given data with GnuPG | |
21 | + - amngrdelete − delete an account | |
22 | + - amngrgen − generate a encrypted random passphrase | |
23 | + - amngrgetoldpass − copy previous password of account to X clipboard | |
24 | + - amngrgetolduser − copy previous username of account to X clipboard | |
25 | + - amngrgetpass − copy active password of account to X clipboard | |
26 | + - amngrgetuser − copy active username of account to X clipboard | |
27 | + - amngrid − write the database id of a given account name to stdout | |
28 | + - amngrlist − list all accounts | |
29 | + - amngrrename − rename an account | |
30 | + - amngrsearch − pattern search accounts | |
31 | + | |
32 | +## SYNOPSIS | |
47 | 33 | |
48 | 34 | source **${PATH}/accountmanager.sh** |
49 | 35 | |
... | ... | @@ -55,10 +41,10 @@ source **${PATH}/accountmanager.sh** |
55 | 41 | |
56 | 42 | **amngrdbdestroy** \[*dbfile*\] |
57 | 43 | |
58 | -**amngradd -u** *username* **-p** *password* \[**-d** *description*\] | |
44 | +**amngradd** **-u** *username* **-p** *password* \[**-d** *description*\] | |
59 | 45 | \[**-D** *dbfile*\] \[**-r** *recipient*\] *account* |
60 | 46 | |
61 | -**amngrcreate -u** *username* \[**-d** *description*\] \[**-D** | |
47 | +**amngrcreate** **-u** *username* \[**-d** *description*\] \[**-D** | |
62 | 48 | *dbfile*\] \[**-r** *recipient*\] *account* |
63 | 49 | |
64 | 50 | **amngrcrypt** \[**-r** *recipient*\] *password* |
... | ... | @@ -83,35 +69,22 @@ source **${PATH}/accountmanager.sh** |
83 | 69 | |
84 | 70 | **amngrsearch** \[**-s** *separator*\] *pattern* |
85 | 71 | |
86 | -DESCRIPTION | |
87 | ------------ | |
72 | +## DESCRIPTION | |
88 | 73 | |
89 | 74 | This file can either be source into the current shell or used as a |
90 | 75 | standalone shell script via the provided symlinks. When used as |
91 | 76 | standalone script it will detect the function to call by the content of |
92 | -**$0**. | |
93 | - All *account* as well as all *username* arguments used below are | |
77 | +**$0**. | |
78 | + | |
79 | +All *account* as well as all *username* arguments used below are | |
94 | 80 | limited to 128 characters. The *account* argument is always a unique |
95 | 81 | string identifier for the account to manage. The *username* argument is |
96 | 82 | the username part of a credential which is a (*username*, *password*) |
97 | 83 | pair. |
98 | 84 | |
99 | -<table> | |
100 | -<colgroup> | |
101 | -<col width="25%" /> | |
102 | -<col width="25%" /> | |
103 | -<col width="25%" /> | |
104 | -<col width="25%" /> | |
105 | -</colgroup> | |
106 | -<tbody> | |
107 | -<tr class="odd"> | |
108 | -<td align="left"></td> | |
109 | -<td align="left"><p><strong>random</strong></p></td> | |
110 | -<td align="left"></td> | |
111 | -<td align="left"><p>Takes no arguments and connect a non blocking random source to stdout.</p></td> | |
112 | -</tr> | |
113 | -</tbody> | |
114 | -</table> | |
85 | +**random** | |
86 | + | |
87 | +Takes no arguments and connect a non blocking random source to stdout. | |
115 | 88 | |
116 | 89 | **rand\_printable** \[*len*\] |
117 | 90 | |
... | ... | @@ -121,7 +94,7 @@ to 255, single and double quotes are filtered. The single and double |
121 | 94 | quotes are filtered to prevent problems when they are used as string |
122 | 95 | separators after shell expansion as in the SQL here documents used to |
123 | 96 | communicate with the SQLite database. |
124 | - The optional *len* argument specifies the string length to be written | |
97 | +The optional *len* argument specifies the string length to be written | |
125 | 98 | and defaults to 512. |
126 | 99 | |
127 | 100 | **amngrdbinit** \[*dbfile*\] |
... | ... | @@ -137,8 +110,7 @@ given it specifies the fill path to the file to use, else the value of |
137 | 110 | **$AMNGRDB** environment variable is used. |
138 | 111 | |
139 | 112 | **amngradd -u** *username* **-p** *password* \[**-d** *description*\] |
140 | -\[**-D** *dbfile*\] \[**-r** * | |
141 | - recipient*\] *account* | |
113 | +\[**-D** *dbfile*\] \[**-r** *recipient*\] *account* | |
142 | 114 | |
143 | 115 | Adds an account credential and marks it as active. If the account |
144 | 116 | already exist, the credential (*username* and *password*) is added to |
... | ... | @@ -146,28 +118,27 @@ that account and the previously added credential is marked as old. If |
146 | 118 | there was another even older credential that was already marked as old |
147 | 119 | this will be marked as inactive and this becomes inaccessible with this |
148 | 120 | tools (except for **amngrdelete**). |
149 | - The necessary option **-u** specifies the username to be stored with | |
121 | +The necessary option **-u** specifies the username to be stored with | |
150 | 122 | this credential pair. |
151 | - The also necessary option **-p** specifies the password to be stored | |
123 | +The also necessary option **-p** specifies the password to be stored | |
152 | 124 | and the length of *password* is not limited at all. |
153 | - With option **-d** one can add a *description* to the account entry. | |
125 | +With option **-d** one can add a *description* to the account entry. | |
154 | 126 | One can specify the *dbfile* with the option **-D** if that option is |
155 | 127 | not given the **$AMNGRDB** environment variable is used. |
156 | 128 | |
157 | 129 | **amngrcreate -u** *username* \[**-d** *description*\] \[**-D** |
158 | -*dbfile*\] \[**-r** *recipient*\] * | |
159 | - account* | |
130 | +*dbfile*\] \[**-r** *recipient*\] *account* | |
160 | 131 | |
161 | 132 | This will create a password with **amngrgen** and use that to add an |
162 | 133 | credential via **amngradd**. (See there for options description) |
163 | - The added password will be copied to the X clipboard with | |
134 | +The added password will be copied to the X clipboard with | |
164 | 135 | **amngrgetpass** for further use. |
165 | 136 | |
166 | 137 | **amngrcrypt** \[**-r** *recipient*\] *password* |
167 | 138 | |
168 | 139 | Crypt the given plain text *password* with GnuPG and write it to |
169 | 140 | stdout. |
170 | - The option **-r** specifies the recipient to use with the call to | |
141 | +The option **-r** specifies the recipient to use with the call to | |
171 | 142 | **gpg**. If it is not given the value of the **$AMNGRID** environment |
172 | 143 | variable is used. |
173 | 144 | |
... | ... | @@ -224,62 +195,23 @@ List accounts where *pattern* exists in either the account name, the |
224 | 195 | username or the account description. The output is like the one |
225 | 196 | described with **amngrlist**. |
226 | 197 | |
227 | -OPTIONS | |
228 | -------- | |
198 | +## OPTIONS | |
229 | 199 | |
230 | 200 | The options are consistent over all sub commands. However not all sub |
231 | 201 | commands use all options and some sub commands take arguments that other |
232 | 202 | get per option. (See **DESCRIPTION**) |
233 | 203 | |
234 | -<table> | |
235 | -<colgroup> | |
236 | -<col width="25%" /> | |
237 | -<col width="25%" /> | |
238 | -<col width="25%" /> | |
239 | -<col width="25%" /> | |
240 | -</colgroup> | |
241 | -<tbody> | |
242 | -<tr class="odd"> | |
243 | -<td align="left"></td> | |
244 | -<td align="left"><p><strong>-u</strong></p></td> | |
245 | -<td align="left"></td> | |
246 | -<td align="left"><p>The login username of the credential for the account.</p></td> | |
247 | -</tr> | |
248 | -<tr class="even"> | |
249 | -<td align="left"></td> | |
250 | -<td align="left"><p><strong>-p</strong></p></td> | |
251 | -<td align="left"></td> | |
252 | -<td align="left"><p>The plain text password of the credential for the account.</p></td> | |
253 | -</tr> | |
254 | -<tr class="odd"> | |
255 | -<td align="left"></td> | |
256 | -<td align="left"><p><strong>-d</strong></p></td> | |
257 | -<td align="left"></td> | |
258 | -<td align="left"><p>The description for the account.</p></td> | |
259 | -</tr> | |
260 | -<tr class="even"> | |
261 | -<td align="left"></td> | |
262 | -<td align="left"><p><strong>-D</strong></p></td> | |
263 | -<td align="left"></td> | |
264 | -<td align="left"><p>Select the database file to use instead of the one defined in the <strong>$AMNGRDB</strong> environment variable.</p></td> | |
265 | -</tr> | |
266 | -<tr class="odd"> | |
267 | -<td align="left"></td> | |
268 | -<td align="left"><p><strong>-r</strong></p></td> | |
269 | -<td align="left"></td> | |
270 | -<td align="left"><p>Select a recipient id for GnuPG encryption to use instead of the one defined in the <strong>$AMNGRID</strong> environment variable.</p></td> | |
271 | -</tr> | |
272 | -<tr class="even"> | |
273 | -<td align="left"></td> | |
274 | -<td align="left"><p><strong>-s</strong></p></td> | |
275 | -<td align="left"></td> | |
276 | -<td align="left"><p>The column separator for the <strong>amngrlist</strong> and <strong>amngrsearchcommands.</strong></p></td> | |
277 | -</tr> | |
278 | -</tbody> | |
279 | -</table> | |
280 | - | |
281 | -ENVIRONMENT | |
282 | ------------ | |
204 | + - **-u** The login username of the credential for the account. | |
205 | + - **-p** The plain text password of the credential for the account. | |
206 | + - **-d** The description for the account. | |
207 | + - **-D** Select the database file to use instead of the one defined in the | |
208 | + **$AMNGRDB** environment variable. | |
209 | + - **-r** Select a recipient id for GnuPG encryption to use instead of the one | |
210 | + defined in the **$AMNGRID** environment variable. | |
211 | + - **-s** The column separator for the **amngrlist** and | |
212 | + **amngrsearchcommands**. | |
213 | + | |
214 | +## ENVIRONMENT | |
283 | 215 | |
284 | 216 | **AMNGRDB** |
285 | 217 | |
... | ... | @@ -298,8 +230,7 @@ option. |
298 | 230 | |
299 | 231 | The password length to be used when generating new passwords. |
300 | 232 | |
301 | -DEPENDENCIES | |
302 | ------------- | |
233 | +## DEPENDENCIES | |
303 | 234 | |
304 | 235 | A set of POSIX compliant shell utilities including a POSIX compliant |
305 | 236 | shell as well are needed to run this script. |
... | ... | @@ -313,150 +244,45 @@ The existence of a reliable non blocking random source. By default this |
313 | 244 | scripts use **$(cat /dev/urandom)** which can be changed by replacing |
314 | 245 | the alias **random** with something useful for your system. |
315 | 246 | |
316 | -For data storage **Sqlite >= 3.6.19** is required. The version | |
247 | +For data storage **Sqlite >= 3.6.19** is required. The version | |
317 | 248 | requirement comes from the use of foreign key constraints. |
318 | 249 | |
319 | 250 | To store the data within the X clipboard the **xclip** is needed. |
320 | 251 | |
321 | 252 | **The tools used are** |
322 | 253 | |
323 | -<table> | |
324 | -<colgroup> | |
325 | -<col width="20%" /> | |
326 | -<col width="20%" /> | |
327 | -<col width="20%" /> | |
328 | -<col width="20%" /> | |
329 | -<col width="20%" /> | |
330 | -</colgroup> | |
331 | -<tbody> | |
332 | -<tr class="odd"> | |
333 | -<td align="left"></td> | |
334 | -<td align="left"><p>•</p></td> | |
335 | -<td align="left"></td> | |
336 | -<td align="left"><p><strong>awk</strong></p></td> | |
337 | -<td align="left"></td> | |
338 | -</tr> | |
339 | -<tr class="even"> | |
340 | -<td align="left"></td> | |
341 | -<td align="left"><p>•</p></td> | |
342 | -<td align="left"></td> | |
343 | -<td align="left"><p><strong>basename</strong></p></td> | |
344 | -<td align="left"></td> | |
345 | -</tr> | |
346 | -<tr class="odd"> | |
347 | -<td align="left"></td> | |
348 | -<td align="left"><p>•</p></td> | |
349 | -<td align="left"></td> | |
350 | -<td align="left"><p><strong>cat</strong></p></td> | |
351 | -<td align="left"></td> | |
352 | -</tr> | |
353 | -<tr class="even"> | |
354 | -<td align="left"></td> | |
355 | -<td align="left"><p>•</p></td> | |
356 | -<td align="left"></td> | |
357 | -<td align="left"><p><strong>dnsdomainname</strong></p></td> | |
358 | -<td align="left"></td> | |
359 | -</tr> | |
360 | -<tr class="odd"> | |
361 | -<td align="left"></td> | |
362 | -<td align="left"><p>•</p></td> | |
363 | -<td align="left"></td> | |
364 | -<td align="left"><p><strong>echo</strong></p></td> | |
365 | -<td align="left"></td> | |
366 | -</tr> | |
367 | -<tr class="even"> | |
368 | -<td align="left"></td> | |
369 | -<td align="left"><p>•</p></td> | |
370 | -<td align="left"></td> | |
371 | -<td align="left"><p><strong>getopts</strong></p></td> | |
372 | -<td align="left"></td> | |
373 | -</tr> | |
374 | -<tr class="odd"> | |
375 | -<td align="left"></td> | |
376 | -<td align="left"><p>•</p></td> | |
377 | -<td align="left"></td> | |
378 | -<td align="left"><p><strong>gpg</strong></p></td> | |
379 | -<td align="left"></td> | |
380 | -</tr> | |
381 | -<tr class="even"> | |
382 | -<td align="left"></td> | |
383 | -<td align="left"><p>•</p></td> | |
384 | -<td align="left"></td> | |
385 | -<td align="left"><p><strong>head</strong></p></td> | |
386 | -<td align="left"></td> | |
387 | -</tr> | |
388 | -<tr class="odd"> | |
389 | -<td align="left"></td> | |
390 | -<td align="left"><p>•</p></td> | |
391 | -<td align="left"></td> | |
392 | -<td align="left"><p><strong>printf</strong></p></td> | |
393 | -<td align="left"></td> | |
394 | -</tr> | |
395 | -<tr class="even"> | |
396 | -<td align="left"></td> | |
397 | -<td align="left"><p>•</p></td> | |
398 | -<td align="left"></td> | |
399 | -<td align="left"><p><strong>rm</strong></p></td> | |
400 | -<td align="left"></td> | |
401 | -</tr> | |
402 | -<tr class="odd"> | |
403 | -<td align="left"></td> | |
404 | -<td align="left"><p>•</p></td> | |
405 | -<td align="left"></td> | |
406 | -<td align="left"><p><strong>shift</strong></p></td> | |
407 | -<td align="left"></td> | |
408 | -</tr> | |
409 | -<tr class="even"> | |
410 | -<td align="left"></td> | |
411 | -<td align="left"><p>•</p></td> | |
412 | -<td align="left"></td> | |
413 | -<td align="left"><p><strong>SQLite3</strong> (>= 3.6.19 for foreign key constraints)</p></td> | |
414 | -<td align="left"></td> | |
415 | -</tr> | |
416 | -<tr class="odd"> | |
417 | -<td align="left"></td> | |
418 | -<td align="left"><p>•</p></td> | |
419 | -<td align="left"></td> | |
420 | -<td align="left"><p><strong>test</strong> and <strong>[</strong></p></td> | |
421 | -<td align="left"></td> | |
422 | -</tr> | |
423 | -<tr class="even"> | |
424 | -<td align="left"></td> | |
425 | -<td align="left"><p>•</p></td> | |
426 | -<td align="left"></td> | |
427 | -<td align="left"><p><strong>tr</strong></p></td> | |
428 | -<td align="left"></td> | |
429 | -</tr> | |
430 | -<tr class="odd"> | |
431 | -<td align="left"></td> | |
432 | -<td align="left"><p>•</p></td> | |
433 | -<td align="left"></td> | |
434 | -<td align="left"><p><strong>xclip</strong></p></td> | |
435 | -<td align="left"></td> | |
436 | -</tr> | |
437 | -</tbody> | |
438 | -</table> | |
439 | - | |
440 | -SEE ALSO | |
441 | --------- | |
254 | + - **awk** | |
255 | + - **basename** | |
256 | + - **cat** | |
257 | + - **dnsdomainname** | |
258 | + - **echo** | |
259 | + - **getopts** | |
260 | + - **gpg** | |
261 | + - **head** | |
262 | + - **printf** | |
263 | + - **rm | |
264 | + - **shift** | |
265 | + - **SQLite3** (>= 3.6.19 for foreign key constraints) | |
266 | + - **test** and **[** | |
267 | + - **tr** | |
268 | + - **xclip** | |
269 | + | |
270 | +## SEE ALSO | |
442 | 271 | |
443 | 272 | gpg2(1), gpg-agent(1) |
444 | 273 | |
445 | -BUGS | |
446 | ----- | |
274 | +## BUGS | |
447 | 275 | |
448 | 276 | No known bugs. |
449 | 277 | |
450 | -AUTHOR | |
451 | ------- | |
278 | +## AUTHOR | |
452 | 279 | |
453 | 280 | Georg Hopp (georg@steffers.org.in) |
454 | 281 | |
455 | -COPYRIGHT | |
456 | ---------- | |
282 | +## COPYRIGHT | |
457 | 283 | |
458 | 284 | Copyright © 2017 Georg Hopp License GPLv3+: GNU GPL version 3 or later |
459 | -<http://gnu.org/licenses/gpl.html>. | |
285 | +<http://gnu.org/licenses/gpl.html>. | |
460 | 286 | This is free software: you are free to change and redistribute it. |
461 | 287 | There is NO WARRANTY, to the extent permitted by law. |
462 | 288 | ... | ... |
Please
register
or
login
to post a comment