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