Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > 812370e8e4f8ac698e01b21e53db774d > files > 58

maildrop-1.7.0-17mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<HTML
><HEAD
><link rel='stylesheet' type='text/css' href='manpage.css'>
  <!-- $Id: userdb.sgml,v 1.1 2001/11/24 20:49:56 mrsam Exp $ -->
  <!-- Copyright 1998 - 2001 Double Precision, Inc.  See COPYING for -->
  <!-- distribution information. -->
<meta name="MSSmartTagsPreventParsing" content="TRUE">
<link rel="icon" href="icon.gif" type="image/gif" />
<TITLE
>userdb</TITLE
><META
NAME="GENERATOR"
CONTENT="Modular DocBook HTML Stylesheet Version 1.7"></HEAD
><BODY
CLASS="REFENTRY"
BGCOLOR="#FFFFFF"
TEXT="#000000"
LINK="#0000FF"
VLINK="#840084"
ALINK="#0000FF"
><H1
><A
NAME="USERDB"
></A
>userdb</H1
><DIV
CLASS="REFNAMEDIV"
><A
NAME="AEN10"
></A
><H2
>Name</H2
>userdb&nbsp;--&nbsp;manipulate /etc/maildrop/userdb</DIV
><DIV
CLASS="REFSYNOPSISDIV"
><A
NAME="AEN13"
></A
><H2
>Synopsis</H2
><P
><B
CLASS="COMMAND"
>userdb</B
> {<VAR
CLASS="REPLACEABLE"
>addr</VAR
>}  set  {<VAR
CLASS="REPLACEABLE"
>field</VAR
>=<VAR
CLASS="REPLACEABLE"
>value</VAR
>...}</P
><P
><B
CLASS="COMMAND"
>userdb</B
> {<VAR
CLASS="REPLACEABLE"
>addr</VAR
>}  unset  {<VAR
CLASS="REPLACEABLE"
>field</VAR
>...}</P
><P
><B
CLASS="COMMAND"
>userdb</B
> {<VAR
CLASS="REPLACEABLE"
>addr</VAR
>}  del </P
><P
><B
CLASS="COMMAND"
>userdb</B
> {<VAR
CLASS="REPLACEABLE"
>path/addr</VAR
>} [set | unset | del]  ... </P
><P
><B
CLASS="COMMAND"
>userdb</B
>  -f  {<VAR
CLASS="REPLACEABLE"
>file</VAR
>} {<VAR
CLASS="REPLACEABLE"
>adr</VAR
>} [set | unset | del]  ... </P
><P
><B
CLASS="COMMAND"
>userdb</B
>  -show  {<VAR
CLASS="REPLACEABLE"
>path</VAR
>}</P
><P
><B
CLASS="COMMAND"
>userdb</B
>  -show  {<VAR
CLASS="REPLACEABLE"
>path</VAR
>} {<VAR
CLASS="REPLACEABLE"
>addr</VAR
>}</P
><P
><B
CLASS="COMMAND"
>userdb</B
>  -show   -f  {<VAR
CLASS="REPLACEABLE"
>file</VAR
>}</P
><P
><B
CLASS="COMMAND"
>userdb</B
>  -show   -f  {<VAR
CLASS="REPLACEABLE"
>file</VAR
>} {<VAR
CLASS="REPLACEABLE"
>addr</VAR
>}</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN81"
></A
><H2
>DESCRIPTION</H2
><P
><B
CLASS="COMMAND"
>userdb</B
> is a convenient script to individually manipulate
entries in <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
>. See
<A
HREF="makeuserdb.html"
TARGET="_top"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>makeuserdb</SPAN
>(8)</SPAN
></A
>
for a description of its contents.  <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> can always
be edited using any text editor, but <B
CLASS="COMMAND"
>userdb</B
> is a
convenient way to modify this file from another script.</P
><P
><TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> can also be a subdirectory, instead of a file.
Specify <VAR
CLASS="OPTION"
><VAR
CLASS="REPLACEABLE"
>foo/bar/addr</VAR
></VAR
> to manipulate
<VAR
CLASS="OPTION"
><VAR
CLASS="REPLACEABLE"
>addr</VAR
></VAR
> in the file
<TT
CLASS="FILENAME"
>/etc/maildrop/userdb<VAR
CLASS="REPLACEABLE"
>/foo/bar</VAR
></TT
>.  You can
also use the
<VAR
CLASS="OPTION"
>-f</VAR
> flag: <VAR
CLASS="OPTION"
>-f
<VAR
CLASS="REPLACEABLE"
>/etc/maildrop/userdb/foo/bar</VAR
></VAR
> is equivalent.  Use
whatever form makes the most sense to you.</P
><P
><TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> must not have any group or world
permissions. That's
because its contents may include system passwords (depending upon the
application which uses this virtual user account database).</P
><P
>Each line in <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> takes following form:
<A
NAME="AEN107"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><P
><SAMP
CLASS="COMPUTEROUTPUT"
><VAR
CLASS="REPLACEABLE"
>addr</VAR
><SPAN
CLASS="TOKEN"
>&#60;TAB&#62;</SPAN
><VAR
CLASS="REPLACEABLE"
>field</VAR
>=<VAR
CLASS="REPLACEABLE"
>value</VAR
>|<VAR
CLASS="REPLACEABLE"
>field</VAR
>=<VAR
CLASS="REPLACEABLE"
>value</VAR
>...</SAMP
></P
></BLOCKQUOTE
></P
><P
><VAR
CLASS="REPLACEABLE"
>addr</VAR
> specifies a unique virtual address. It
is followed by a single
tab character, then a list of
<VAR
CLASS="REPLACEABLE"
>field</VAR
>=<VAR
CLASS="REPLACEABLE"
>value</VAR
> pairs,
separated by
vertical slash characters. See
<A
HREF="makeuserdb.html"
TARGET="_top"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>makeuserdb</SPAN
>(8)</SPAN
></A
>
for field definitions.</P
><P
>A text editor can be used to add blank lines or comments in
<TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
>.  Any blank lines or comments are ignored by the
<B
CLASS="COMMAND"
>userdb</B
> script.</P
><P
>The names of the actual fields, and their contents, are defined entirely by
applications that use the <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> database, the
<B
CLASS="COMMAND"
>userdb</B
> command just adds or removes arbitrary fields.</P
><P
>For example:
<A
NAME="AEN131"
></A
><BLOCKQUOTE
CLASS="BLOCKQUOTE"
><DIV
CLASS="INFORMALEXAMPLE"
><P
></P
><A
NAME="AEN132"
></A
><P
CLASS="LITERALLAYOUT"
><B
CLASS="COMMAND"
>userdb default/info set mail=/home/mail/info</B
></P
><P
></P
></DIV
></BLOCKQUOTE
></P
><P
>This command accesses the address "info" in
<TT
CLASS="FILENAME"
>/etc/maildrop/userdb/default</TT
>.</P
><P
>If the second argument to <B
CLASS="COMMAND"
>userdb</B
> is
"<TT
CLASS="PARAMETER"
><I
>set</I
></TT
>", the
remaining arguments are taken as
<TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>field</VAR
>=<VAR
CLASS="REPLACEABLE"
>value</VAR
></I
></TT
> pairs, which are
added to the record for <VAR
CLASS="REPLACEABLE"
>addr</VAR
>. If there is no
record for <VAR
CLASS="REPLACEABLE"
>addr</VAR
>, a
new record will be appended to the file. If
<VAR
CLASS="REPLACEABLE"
>addr</VAR
> exists, any existing
values of any specified fields are removed. If
<TT
CLASS="PARAMETER"
><I
>=<VAR
CLASS="REPLACEABLE"
>value</VAR
></I
></TT
> is missing,
<B
CLASS="COMMAND"
>userdb</B
> stops and prompts for it. This is useful if
you're setting
a password field, where you do not want to specify the password on the command
line, which can be seen by the
<SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>ps</SPAN
>(1)</SPAN
>
command. If <B
CLASS="COMMAND"
>userdb</B
> is being
executed by a script, the value can be provided on standard input.</P
><P
>Use "<TT
CLASS="PARAMETER"
><I
>unset</I
></TT
>" to delete fields from an existing
record. Use
"<TT
CLASS="PARAMETER"
><I
>del</I
></TT
>" to delete all fields in the existing record,
plus the record itself.</P
><DIV
CLASS="REFSECT2"
><A
NAME="AEN156"
></A
><H3
>DISPLAYING <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
></H3
><P
>If the first argument to userdb
is <TT
CLASS="PARAMETER"
><I
>-show</I
></TT
>, <B
CLASS="COMMAND"
>userdb</B
>
displays the contents of <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
>. If
<TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> is a
subdirectory,
<TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>path</VAR
></I
></TT
> must refer to a
specific file in <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
>. The
<TT
CLASS="PARAMETER"
><I
>-f</I
></TT
> option can be used instead of
<TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>path</VAR
></I
></TT
> in order to specify an
arbitrary file.</P
><P
>If
<TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>addr</VAR
></I
></TT
> is not specified,
<B
CLASS="COMMAND"
>userdb</B
> produces a list, on standard
output, containing all addresses found in the file, on per line. If
<TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>addr</VAR
></I
></TT
> is specified,
<B
CLASS="COMMAND"
>userdb</B
> produces a list, on standard output, of
all the fields in <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> for this
<TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>addr</VAR
></I
></TT
>.</P
></DIV
><DIV
CLASS="REFSECT2"
><A
NAME="AEN180"
></A
><H3
>REBUILDING <TT
CLASS="FILENAME"
>/etc/maildrop/userdb.dat</TT
></H3
><P
>The actual virtual account/address database is
<TT
CLASS="FILENAME"
>/etc/maildrop/userdb.dat</TT
>.
This is a binary database file. <B
CLASS="COMMAND"
>/etc/maildrop/userdb</B
> is the plain text
version. After running <B
CLASS="COMMAND"
>userdb</B
>, execute the
<A
HREF="makeuserdb.html"
TARGET="_top"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>makeuserdb</SPAN
>(8)</SPAN
></A
> command to rebuild
<TT
CLASS="FILENAME"
>/etc/maildrop/userdb.dat</TT
> for the changes to take effect.</P
></DIV
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN192"
></A
><H2
>BUGS</H2
><P
><TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>addr</VAR
></I
></TT
> must be unique.
If <TT
CLASS="FILENAME"
>/etc/maildrop/userdb</TT
> is a subdirectory,
it's possible to create the same
<TT
CLASS="PARAMETER"
><I
><VAR
CLASS="REPLACEABLE"
>addr</VAR
></I
></TT
>
in different files in the subdirectory.
This is an error that is not currently detected by <B
CLASS="COMMAND"
>userdb</B
>,
however the subsequent
<A
HREF="makeuserdb.html"
TARGET="_top"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>makeuserdb</SPAN
>(8)</SPAN
></A
> command
will fail with an error message.</P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN205"
></A
><H2
>FILES</H2
><P
><TT
CLASS="FILENAME"
> /etc/maildrop/userdb</TT
> - plain text file, or directory of plain text files</P
><P
><TT
CLASS="FILENAME"
> .lock.filename</TT
> - lock file for <TT
CLASS="FILENAME"
>filename</TT
></P
><P
><TT
CLASS="FILENAME"
> .tmp.filename</TT
> - temporary file used to create new contents of <TT
CLASS="FILENAME"
>filename</TT
></P
></DIV
><DIV
CLASS="REFSECT1"
><A
NAME="AEN215"
></A
><H2
>SEE ALSO</H2
><P
><A
HREF="makeuserdb.html"
TARGET="_top"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>makeuserdb</SPAN
>(8)</SPAN
></A
>,
 
<A
HREF="userdbpw.html"
TARGET="_top"
><SPAN
CLASS="CITEREFENTRY"
><SPAN
CLASS="REFENTRYTITLE"
>userdbpw</SPAN
>(8)</SPAN
></A
></P
></DIV
></BODY
></HTML
>