'\" t .\" Title: yapet .\" Author: [see the "AUTHOR" section] .\" Generator: DocBook XSL Stylesheets v1.76.1 .\" Date: 01/02/2011 .\" Manual: User Commands .\" Source: yapet 0.8pre2 .\" Language: English .\" .TH "YAPET" "1" "01/02/2011" "yapet 0\&.8pre2" "User Commands" .\" ----------------------------------------------------------------- .\" * Define some portability stuff .\" ----------------------------------------------------------------- .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .\" http://bugs.debian.org/507673 .\" http://lists.gnu.org/archive/html/groff/2009-02/msg00013.html .\" ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .ie \n(.g .ds Aq \(aq .el .ds Aq ' .\" ----------------------------------------------------------------- .\" * set default formatting .\" ----------------------------------------------------------------- .\" disable hyphenation .nh .\" disable justification (adjust text to left margin only) .ad l .\" ----------------------------------------------------------------- .\" * MAIN CONTENT STARTS HERE * .\" ----------------------------------------------------------------- .SH "NAME" yapet \- text based password manager .SH "SYNOPSIS" .HP \w'\fByapet\fR\ 'u \fByapet\fR [[\fB\-c\fR] | [\fB\-h\fR] | [\fB\-V\fR]] [[\fB\-i\fR] | [\fB\-r\fR\ {\fIrcfile\fR}]] [[\fB\-s\fR] | [\fB\-S\fR]] [\fB\-t\fR\ {\fIsec\fR}] [\fIfilename\fR] .SH "DESCRIPTION" .PP \fByapet\fR stores passwords and associated information (referred to as password records) in files encrypted on disk\&. .PP \fByapet\fR does not impose a limit of password records per file and the number of files the passwords are stored in, although \fByapet\fR is able to display only password records of one file at a time\&. .PP For convenience, \fByapet\fR provides a search function for password records of the currently loaded password file\&. .PP The password records are protected by a master password\&. The master password is used to encrypt and decrypt the password records\&. .PP \fByapet\fR relies on OpenSSL for encryption and decryption of password records\&. The cipher for encryption and decryption is Blowfish with a 448 bits key\&. .PP Files created by \fByapet\fR always have the suffix \&.pet\&. This cannot be changed\&. Also, if a file is loaded using the command line, \fByapet\fR appends the suffix \&.pet to the file name unless the file name includes this suffix\&. .SS "Main Screen" .PP Invoking \fByapet\fR without command line arguments given will show a screen as shown in Figure\ \&1, \(lqMain Screen\(rq\&. .PP \fBFigure\ \&1.\ \&Main Screen\fR .sp .RS 4 .sp .if n \{\ .RS 4 .\} .nf \&.\&.::|| YAPET 0\&.8pre2 ||::\&.\&. +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | || K E Y S | | ||\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-| | || S Save File | | || R Load File | | || L Lock Screen | | || A Add Entry | | || D Delete Entry | | || O Sort Order | | || / Search | | || N Search Next | | || C Change Password | | || ^L Redraw Screen | | || Q Quit | | || G Password Generator| | |+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | |+\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | || | | || | | || | | || | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-++\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ No file loaded .fi .if n \{\ .RE .\} .RE .PP The upper right frame in Figure\ \&1, \(lqMain Screen\(rq shows the function keys recognized by \fByapet\fR\&. See the section called \(lqFunction Keys\(rq for details about the function keys\&. .PP The empty frame on the left side of the main screen will display the list of password records\&. The selection of the record to be viewed can be moved as explained in the section called \(lqSelection Movement\(rq\&. .PP Only when a a password file is loaded, the lower right frame will display some status information as explained in the section called \(lqStatus Frame\(rq\&. .SS "Password Record" .PP Passwords are stored as records having the fields as shown in Figure\ \&2, \(lqPassword Record Dialog\(rq below\&. .PP \fBFigure\ \&2.\ \&Password Record Dialog\fR .sp .RS 4 .sp .if n \{\ .RS 4 .\} .nf +\-P A S S W O R D R E C O R D\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ |Name | |_________________________________________________| |Host | |_________________________________________________| |Username | |_________________________________________________| |Password | |_________________________________________________| |Comment | |_________________________________________________| | | |[ OK ] [ Cancel ] [ Generate Password ] | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .fi .if n \{\ .RE .\} .RE .PP The fields have the following meaning: .PP Name .RS 4 The name displayed in the Main Screen\&. .RE .PP Host .RS 4 The host on which the password is used\&. .RE .PP Username .RS 4 The user name the password is associated with\&. .RE .PP Password .RS 4 The password to protect\&. .RE .PP Comment .RS 4 A comment\&. .RE .PP For an explanation of the Generate Password refer to the section called \(lqPassword Generator Dialog\(rq\&. .SS "Function Keys" .PP Function keys are the keys recognized by \fByapet\fR in the main screen, i\&.e\&. if no dialog is presented\&. Function keys are not case\-sensitive\&. See below for an explanation of the function keys recognized: .PP S .RS 4 Saves the password records to the file\&. .RE .PP R .RS 4 Load (read) a file from disk\&. This command is also used to create a new file\&. When creating a new file, enter the file name into the input field\&. \fByapet\fR will ask whether it should create the file if it does not exist\&. .RE .PP L .RS 4 Lock and blank the screen\&. Has only effect if a file is loaded\&. In order to unlock the screen, the password of the currently loaded file has to be entered\&. .RE .PP A .RS 4 Add a new password record to the currently loaded file\&. The password record will be permanently added to the file when the file is saved by pressing S\&. .sp Before this function can be used an existing file has to be loaded or a new file has to be created by pressing R\&. .RE .PP D .RS 4 Delete a password entry from the currently loaded file\&. The entry will be permanently deleted if the file is saved by pressing S\&. .RE .PP O .RS 4 Change the sort order to either ascending or descending\&. This setting is not kept permanently and is lost upon restart of \fByapet\fR\&. .sp The default sort order is ascending\&. .RE .PP / .RS 4 Start a new search\&. \fByapet\fR can only search the name of the password records for a particular term\&. If the term is found, the item is highlighted\&. The search can be repeated by pressing N\&. .RE .PP N .RS 4 Repeat the search using the search term specified by invoking the search functionality by pressing /\&. .RE .PP C .RS 4 Change the master password of the currently loaded file\&. This action requires to save all changes first\&. The file with the old master password will be saved as \fIfilename\fR\&.pet\&.bak where \fIfilename\fR is the name of the currently loaded file\&. .RE .PP CTRL+L (^L) .RS 4 Redraws the screen\&. .RE .PP Q .RS 4 Quit \fByapet\fR\&. If changes were not saved \fByapet\fR will ask whether they should be saved or not\&. Regardless of the answer, \fByapet\fR quits, either saving the changes or discarding them\&. .RE .PP G .RS 4 Open the Password Generator Dialog\&. See the section called \(lqPassword Generator Dialog\(rq for further information\&. .RE .SS "Dialogs" .PP Frames appearing on top of the Main Screen are called Dialogs\&. They are comprised of widgets which can take input from the user\&. .PP The Tab key will switch the focus to the next widget\&. Be aware that Shift+Tab does not work for focusing the previous widget\&. .PP By pressing the Esc key dialogs will be canceled and closed\&. .sp .it 1 an-trap .nr an-no-space-flag 1 .nr an-break-flag 1 .br .ps +1 \fBPassword Generator Dialog\fR .RS 4 .PP \fByapet\fR may compute random password of arbitrary length using characters from different character pools\&. .PP In the Main Screen, pressing G will bring up the Password Generator Dialog, which simply generates passwords\&. .PP The check boxes can be selected by pressing either Enter or Space keys, the Down and Up keys will selected the next or previous check box, respectively\&. Pressing the Tab will leave the check boxes and focus the Regenerate button, which can be used to regenerate the password with the options set\&. .PP By pressing the Generate Password button in the Password Record Dialog the Password Generator Dialog will also be displayed\&. Additionally, the generated password can be inserted into the Password Record by pressing OK\&. Any previous password will replaced by the generated password\&. .PP See the section called \(lqConfiguration File\(rq on how the password generator options can be preset\&. .RE .SS "Selection Movement" .PP The keys explained below are recognized for selection movement in list widgets, such as the password records list or the lists used by the File Open dialog\&. .PP Up, k, Down, j .RS 4 Moves the selection one item up (Up, k) or down (Down, j)\&. .RE .PP Page Up, Page Down .RS 4 Scrolls one screen\-full up (Page Up) or down (Page Down)\&. .RE .PP Home, End .RS 4 Scrolls to the beginning (Home) or the end (End) of the list\&. .RE .PP Enter .RS 4 Chooses the selected item\&. .RE .SS "Cursor Movement" .PP Cursor movement, whether in clear text or password fields, is accomplished by using the following keys: .PP Left, Up .RS 4 Moves the cursor one character to the left\&. In password fields, it deletes the character to the left of the current cursor position\&. .RE .PP Right, Down .RS 4 Moves the cursor one character to the right\&. In password fields, these keys do nothing\&. .RE .PP Home .RS 4 Moves the cursor at the beginning of the input field\&. .RE .PP End .RS 4 Moves the cursor at the end of the input field\&. .RE .PP Backspace .RS 4 Moves the cursor one character to the right and deletes the character at this position\&. .RE .PP Delete .RS 4 Keeps the cursor at the current position and deletes the character on the right, shifting remaining characters to the left\&. .RE .PP Enter, Tab .RS 4 The input is confirmed and the next widget will be focused\&. .RE .SS "Editing Password Records" .PP When a password record is opened by pressing Enter, it is opened in read\-only mode in order to prevent accidental modification\&. .PP After opening a password record, the read\-only mode can be left by pressing Ctrl+e in any of the text fields\&. .SS "Configuration File" .PP If the file \fB$HOME\fR/\&.yapet exists, \fByapet\fR reads options provided in this file\&. You may specify a different configuration file by using the \fB\-r\fR option (see the section called \(lqOPTIONS\(rq)\&. Options given on the command line have precedence over options given in a configuration file\&. .PP The configuration file has the following syntax: .PP \fIoption\fR=\fIvalue\fR .PP where \fIoption\fR can be any of the following: .PP \fBload\fR .RS 4 The file to load upon start of \fByapet\fR\&. .sp Equivalent to providing a \fIfilename\fR when invoking \fByapet\fR\&. .sp A \fB~\fR (tilde) sign as the first character of the file path will be replaced by the home directory of the user running \fByapet\fR\&. .sp Default: not set .RE .PP \fBlocktimeout\fR .RS 4 A positive integer specifying the time of inactivity in seconds until the screen is locked\&. .sp Equivalent to providing the \fB\-t\fR option when invoking \fByapet\fR\&. .sp Default: 600 .RE .PP \fBpwinputtimeout\fR .RS 4 A positive integer specifying the time of inactivity in seconds until the password prompt for unlocking the screen will disappear\&. .sp Default: 60 .RE .PP \fBallowlockquit\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 allows the user to quit \fByapet\fR from the locked screen (if no changes are pending)\&. A value of 0 prevents the user from quitting \fByapet\fR when the screen is locked\&. .sp Default: 1 .RE .PP \fBcheckfsecurity\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 enables the verification of the file owner and permissions when loading a file\&. A value of 0 disables the verification of the file owner and permissions when loading a file\&. .sp Equivalent to providing the \fB\-S\fR (same as 1) or \fB\-s\fR (same as 0) options when invoking \fByapet\fR\&. .sp Default: 1 .RE .PP \fBignorerc\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 lets \fByapet\fR ignore the options provided in the configuration file (see also the \fB\-i\fR in the section called \(lqOPTIONS\(rq)\&. A value of 0 has no effect on the processing of the configuration file\&. .sp Default: 0 .RE .PP \fBpwgen_rng\fR .RS 4 The random number generator used to generate passwords\&. Possible values are .PP devrandom .RS 4 Requests the use of /dev/random\&. This is a high\-quality random number generator\&. However, if the system lacks entropy, reading from this device may block, thus making \fByapet\fR unresponsive\&. .RE .PP devurandom .RS 4 Requests the use of /dev/urandom\&. This is a quality random number generator similar to /dev/random but not of the same quality\&. .sp Using this random number generator will not block as opposite to /dev/random\&. .RE .PP lrand48 .RS 4 Requests the use of lrand48\&. This is low\-quality random number generator and should be used only if none of the above two random number generators are available\&. .RE .PP rand .RS 4 Requests the use of rand\&. This is a last resort random number generator and should not be used\&. .RE .sp If the random number generator requested is not available on the system, \fByapet\fR searches for a suitable alternative\&. .sp Default: devurandom .RE .PP \fBpwgen_pwlen\fR .RS 4 A positive integer greater than zero specifying the default password length used by the Password Generator Dialog\&. .sp Default: 10 .RE .PP \fBpwgen_letters\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 will preselect Letters check box of the Password Generator Dialog\&. 0 does not preselect Letters check box\&. .sp Default: 1 .RE .PP \fBpwgen_digits\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 will preselect Digits check box of the Password Generator Dialog\&. 0 does not preselect Digits check box\&. .sp Default: 1 .RE .PP \fBpwgen_punct\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 will preselect Punctuation check box of the Password Generator Dialog\&. 0 does not preselect Punctuation check box\&. .sp Default: 1 .RE .PP \fBpwgen_special\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 will preselect Special check box of the Password Generator Dialog\&. 0 does not preselect Special check box\&. .sp Default: 1 .RE .PP \fBpwgen_other\fR .RS 4 A value of 1 (one) or 0 (zero)\&. A value of 1 will preselect Other check box of the Password Generator Dialog\&. 0 does not preselect Other check box\&. .sp Default: 0 .RE .PP See the section called \(lqEXAMPLES\(rq for examples of configuration files\&. .PP Options are case\-sensitive\&. Spaces are not allowed before or after the equal sign\&. Syntax errors and unrecognized options are ignored silently\&. .SS "Status Frame" .PP When a password file is loaded, \fByapet\fR displays some status information in the lower right frame as shown in Figure\ \&3, \(lqThe Status Frame\(rq .PP \fBFigure\ \&3.\ \&The Status Frame\fR .sp .RS 4 .sp .if n \{\ .RS 4 .\} .nf +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ | File permission check: enabled | | Screen lock time\-out: 600 sec | | 1 entries (+) (V: 1) | | PW set: Sat Aug 22 11:49:46 2009 | +\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-\-+ .fi .if n \{\ .RE .\} .RE .PP File permission check is explained in the section called \(lqOPTIONS\(rq under the \fB\-s\fR and \fB\-S\fR options\&. .PP The next line labeled Screen lock time\-out displays how long \fByapet\fR will wait for a key press until the screen is locked\&. .PP The third line is giving a count of the password records in the currently loaded file\&. The (+) sign indicates that there are unsaved modifications in one or more password records\&. Absence of this sign indicates that no changes have been made to the records\&. .PP The (V: 1) label indicates that the file currently loaded was created with \fByapet\fR version 0\&.5 or earlier\&. A file created with version 0\&.6 or a file created with \fByapet\fR version prior 0\&.6 having its master password changed using \fByapet\fR 0\&.6 will display (V: 2)\&. .PP The fourth and last line shows the date the current master password has been set\&. .SS "Caution" .PP Although several precautions were taken to avoid having any passwords stored clear text in memory, there were occasions when core files contained the master password\&. This means that it is possible, though not likely, for a malicious user to get hold of one or more passwords \fIwhile\fR YAPET is running\&. .SS "Format of YAPET Files" .PP Please refer to the DESIGN in source code distribution or point your browser to \m[blue]\fBhttp://www\&.guengel\&.ch/myapps/yapet/\fR\m[]\&. .SH "OPTIONS" .PP The following options are supported: .PP \fB\-c\fR, \fB\-\-copyright\fR .RS 4 Show the copyright information\&. .RE .PP \fB\-h\fR, \fB\-\-help\fR .RS 4 Print a help text\&. .RE .PP \fB\-i\fR, \fB\-\-ignore\-rc\fR .RS 4 Do not read the configuration file\&. See also the \fBignorerc\fR option in the section called \(lqConfiguration File\(rq\&. .RE .PP \fB\-r\fR \fIrcfile\fR, \fB\-\-rc\-file\fR \fIrcfile\fR .RS 4 Read the configuration file specified by \fIrcfile\fR\&. If this option is not given, the default configuration file read is \fB$HOME\fR/\&.yapet unless \fB\-i\fR is specified\&. .RE .PP \fB\-s\fR, \fB\-\-no\-file\-security\fR .RS 4 Disable the check for the owner and file mode when loading files\&. Without this option, \fByapet\fR checks password files for having the same owner as the user running \fByapet\fR and verifies that the file mode is strictly 0600\&. If one of these conditions are not met, \fByapet\fR refuses to load the file\&. Providing this options disables those checks and \fByapet\fR will load files with owners other than the process owner of \fByapet\fR and file modes different from 0600\&. .sp New files saved while this option is active will have the file mode set to 0644\&. .RE .PP \fB\-S\fR, \fB\-\-file\-security\fR .RS 4 Enable the check for the owner and file mode when loading files\&. This option makes \fByapet\fR to load password files having the owner set to the process owner of \fByapet\fR and the file mode strictly set to 0600 only\&. If one of these conditions are not met, \fByapet\fR refuses to load the file\&. .sp New files saved while this option is active will have the file mode set to 0600\&. .sp This is the default mode\&. .RE .PP \fB\-t\fR \fIsec\fR, \fB\-\-timeout\fR \fIsec\fR .RS 4 Set the timeout until the screen is locked to \fIsec\fR seconds\&. The minimum time allowed is 10 seconds\&. If a lower value is provided, the timeout will be set to 10 seconds\&. .RE .PP \fB\-V\fR, \fB\-\-version\fR .RS 4 Show the version of \fByapet\fR\&. .RE .PP \fB\fIfilename\fR\fR .RS 4 The file to open upon invocation of \fByapet\fR\&. If the file does not exist, \fByapet\fR asks whether it should be created\&. .sp Files created by \fByapet\fR always have the suffix \&.pet\&. .RE .SH "EXAMPLES" .PP \fBExample\ \&1.\ \&Example of an yapet configuration file\fR .sp .if n \{\ .RS 4 .\} .nf load=/home/joe/passwords locktimeout=300 checkfsecurity=0 pwgen_pwlen=8 .fi .if n \{\ .RE .\} .PP In this example, the file /home/joe/passwords will be loaded upon invocation of \fByapet\fR\&. The timeout until the screen is locked is set to 300 seconds\&. File permissions will not be verified\&. .PP The Password Generator Dialog will have preset the Password Length to 8 characters\&. .PP \fBExample\ \&2.\ \&Example of an yapet configuration file\fR .sp .if n \{\ .RS 4 .\} .nf locktimeout=150 checkfsecurity=1 pwgen_other=1 .fi .if n \{\ .RE .\} .PP In this example, no file will be automatically loaded upon invocation of \fByapet\fR\&. The timeout until the screen is locked is set to 150 seconds\&. File permissions and owner will be verified\&. .PP The Password Generator Dialog will have preset the Other check box checked\&. .PP \fBExample\ \&3.\ \&Example 1 revisited\fR .sp .if n \{\ .RS 4 .\} .nf load=~/passwords\&.pet locktimeout=300 checkfsecurity=0 pwgen_pwlen=8 .fi .if n \{\ .RE .\} .PP This example has the same effect as Example\ \&1, \(lqExample of an yapet configuration file\(rq\&. But instead of specifying the full path to the home directory, the ~ (tilde) sign is used, which is expanded to the home directory automatically\&. The \&.pet suffix can be specified, but if omitted it will be appended automatically\&. .SH "FILES" .PP \fB$HOME\fR/\&.yapet .RS 4 The per\-user configuration file\&. If existing, options are read from this file but can be overridden by the command line options\&. .sp Processing of this file can be disabled by invoking \fByapet\fR with the \fB\-i\fR option\&. .sp Refer to the the section called \(lqConfiguration File\(rq for an explanation of the per\-user configuration file\&. .RE .SH "ENVIRONMENT" .PP \fBLC_MESSAGES\fR .RS 4 Printing messages in the specified language\&. Currently only German is supported besides English\&. .RE .SH "BUGS" .PP If a password record is open, the screen lock will not activate, leaving \fByapet\fR unprotected\&. .PP Please report bugs to \m[blue]\fBhttp://bugs\&.guengel\&.ch\fR\m[]\&\s-2\u[1]\d\s+2\&. .SH "AUTHOR" .sp Rafael Ostertag rafi@guengel\&.ch .SH "SEE ALSO" .sp \fBcsv2yapet\fR(1), \fBcurses\fR(3X), \fBssl\fR(3), \fBcrypto\fR(3) .SH "AVAILABILITY" .PP The latest version of \fByapet\fR can be found under \m[blue]\fBhttp://www\&.guengel\&.ch/myapps/yapet/\fR\m[]\&. .SH "LICENSE" .sp YAPET \-\- Yet Another Password Encryption Tool .sp Copyright (C) 2008 \- 2010 Rafael Ostertag rafi@guengel\&.ch .PP This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version\&. .PP This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE\&. See the GNU General Public License for more details\&. .PP You should have received a copy of the GNU General Public License along with this program\&. If not, see \m[blue]\fBhttp://www\&.gnu\&.org/licenses/\fR\m[]\&. .PP \fBAdditional permission under GNU GPL version 3 section 7\fR. If you modify this program, or any covered work, by linking or combining it with the OpenSSL project\*(Aqs OpenSSL library (or a modified version of that library), containing parts covered by the terms of the OpenSSL or SSLeay licenses, Rafael Ostertag grants you additional permission to convey the resulting work\&. Corresponding Source for a non\-source form of such a combination shall include the source code for the parts of OpenSSL used as well as that of the covered work\&. .SH "COPYRIGHT" .br Copyright \(co 2008, 2009, 2010 Rafael Ostertag .br .SH "NOTES" .IP " 1." 4 http://bugs.guengel.ch .RS 4 \%http://bugs.guengel.ch/ .RE