vidb(8)
NAME
vidb - manually edit SFS user-authentication database file
SYNOPSIS
vidb [-w] [-R] {-S | -a [-f file] | [-e editor]}
sfs-users-file
DESCRIPTION
- vidb manually edits an SFS user-authentication file , ac
- quiring locks to prevent concurrent updates from overwriting each
- other. If sfsauthd has been compiled with Sleepycat database
- (http://www.sleepycat.com/) support, and the name of the file
- ends in .db/, vidb will consider the user authentication file to
- be a database directory, and convert the contents into regular
- ASCII text for editing. If the name of the file ends in .db,
- vidb assumes the user authentication file is database file (un
- less the pathname corresponds to an existing directory). Note
- that database files (as opposed to directories) are required to
- be read-only, and thus cannot be updated by vidb.
OPTIONS
vidb has the following options:
- -a [-f file]
- The -a option adds SFS user records in text form to a
- database. The records are taken from standard input, or from
- file if specified. Records for an existing user or group will
- replace the values already in the database. Unlike vidb's ordi
- nary mode of operation, -a does not add all records atomically.
- In the event of a system crash, some but not all of the records
- may have been added to the database. Simply re-running the same
- vidb command after a crash is perfectly safe, however, since pre
- viously added entries will just be overwritten (by themselves)
- the second time through. For database files, because -a does not
- accumulate records into one large transaction, it can be signifi
- cantly more efficient than simply adding the records in an edi
- tor, using vidb's ordinary mode of operation.
- -e editor
- Specifies the editor to use for editing the file. The
- default is to use the command specified by the environment vari
- able EDITOR. If there is no environment variable and -e is not
- specified, vidb uses vi.
- -w One of the points of vidb is to avoid concurrent edits
- to the database and the corresponding inconsistencies that might
- result. Ordinarily, if the database is already being edited,
- vidb will just exit with an error message. The -w flag tells
- vidb to wait until it can acquire the lock on the database before
- launching the editor.
- -R Runs catastrophic recovery on the database environ
- ment. (For those familiar with Sleepycat database software, this
- corresponds to the -c flag of the db_recover utility, or the
DB_RECOVER_FATAL
- of the database log records present in the supporting files directory. You may need to use this, for example, when restoring a
database from backup tapes if the log files were backed up more
recently than the entire database. The -R has no effect on flat
text databases, or if the -S has been specified. Warning: The authors have encountered bugs in the catastrophic recovery code
of at least some versions of the Sleepycat database package. As
a precaution, before attempting to use -R, we strongly recommend
salvaging whatever records possible from the database file itself
using vidb -S sfs-users-file>saved_sfs_users. If, subsequently, the -R option corrupts the database, you can at least salvage
some of the records from the saved_sfs_users file. -S Attempt to salvage a database file with corrupt or - lost logs by dumping the contents of the database itself. Ordi
- narily, databases use write-ahead logging. Before opening a
- database file, both vidb and sfsauthd attempt to recover from any
- previous incomplete transactions using the log. The -S option
- opens and prints out the contents of a database without regard to
- the log files. This is useful if you have lost the log files or
- are worried that they are corrupt, or if you wish to examine the
- contents of a database you have read but not write permission to.
- Ordinarily, however, if you wish to dump the contents of a
- database to standard output, use the command vidb -e cat
- sfs-users-file.
SEE ALSO
- dirsearch(1), newaid(1), rex(1), sfsagent(1), sfskey(1),
- ssu(1), sfs_config(5), sfs_hosts(5), sfs_srp_params(5),
- sfs_users(5), sfsauthd_config(5), sfscd_config(5),
- sfsrosd_config(5), sfsrwsd_config(5), sfssd_config(5),
- sfs_environ(7), funmount(8), nfsmounter(8), sfsauthd(8),
- sfscd(8), sfsrosd(8), sfsrwcd(8), sfsrwsd(8), sfssd(8)
- The full documentation for SFS is maintained as a Texinfo
- manual. If the info and SFS programs are properly installed at
- your site, the command info SFS should give you access to the
- complete manual.
- For updates, documentation, and software distribution,
- please see the SFS website at http://www.fs.net/.
BUGS
- vidb should really recreate any publicly-readable versions
- of user authentication databases (either by parsing
- sfsauthd_config for -pub=... options to Userfile directives or
- signaling sfsauthd). Currently you must manually kill sfssd or
- sfsauthd for this to happen.
- While vidb attempts to make the smallest number of changes
- to a database, editing sessions that add or remove a large number
- of records can potentially exhaust resources such as locks.
- Sites with large user databases can tune the database by creating
- a file called DB_CONFIG in the database directory. The specifics
- of the configuration file are documented in the Sleepycat
- database documentation. As an example, if performance is slow
- and you run out of locks, you can set the cache size to 128MB and
- increase the number of locks with the following DB_CONFIG file:
set_cachesize 0 134217728 1
set_lk_max_locks 50000
set_lk_max_objects 50000- When editing a database, vidb creates a temporary text
- file in the /tmp directory. For huge databases, it is conceiv
- able that /tmp does not have enough space. If this happens, /tmp
- can be overridden with the TMPDIR environment variable.
AUTHOR
- sfsdev@redlab.lcs.mit.edu
- SFS 0.8pre 2006-07-20