[svn-upgrade] Integrating new upstream version, shadow (4.0.13)
This commit is contained in:
185
man/shadow.3.xml
185
man/shadow.3.xml
@@ -2,60 +2,71 @@
|
||||
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">
|
||||
<refentry id='shadow.3'>
|
||||
<!-- $Id: shadow.3.xml,v 1.10 2005/08/03 16:29:14 kloczek Exp $ -->
|
||||
<!-- $Id: shadow.3.xml,v 1.17 2005/10/01 15:01:45 kloczek Exp $ -->
|
||||
<refmeta>
|
||||
<refentrytitle>shadow</refentrytitle>
|
||||
<manvolnum>3</manvolnum>
|
||||
</refmeta>
|
||||
<refnamediv id='name'>
|
||||
<refname>shadow</refname>
|
||||
<refname>getspnam</refname>
|
||||
<refpurpose>encrypted password file routines</refpurpose>
|
||||
</refnamediv>
|
||||
|
||||
|
||||
<refsect1 id='syntax'>
|
||||
<title>SYNTAX</title>
|
||||
<para><emphasis remap='B'>#include <shadow.h></emphasis>
|
||||
<para>
|
||||
<emphasis>#include <shadow.h></emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>struct spwd *getspent();</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>struct spwd *getspent();</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>struct spwd *getspnam(char</emphasis>
|
||||
<emphasis remap='I'>*name</emphasis><emphasis remap='B'>);</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>struct spwd *getspnam(char</emphasis> <emphasis
|
||||
remap='I'>*name</emphasis><emphasis>);</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>void setspent();</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>void setspent();</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>void endspent();</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>void endspent();</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>struct spwd *fgetspent(FILE</emphasis>
|
||||
<emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>struct spwd *fgetspent(FILE</emphasis> <emphasis
|
||||
remap='I'>*fp</emphasis><emphasis>);</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>struct spwd *sgetspent(char</emphasis>
|
||||
<emphasis remap='I'>*cp</emphasis><emphasis remap='B'>);</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>struct spwd *sgetspent(char</emphasis> <emphasis
|
||||
remap='I'>*cp</emphasis><emphasis>);</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>int putspent(struct spwd</emphasis>
|
||||
<emphasis remap='I'>*p,</emphasis>
|
||||
<emphasis remap='B'>FILE</emphasis>
|
||||
<emphasis remap='I'>*fp</emphasis><emphasis remap='B'>);</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>int putspent(struct spwd</emphasis> <emphasis
|
||||
remap='I'>*p,</emphasis> <emphasis>FILE</emphasis> <emphasis
|
||||
remap='I'>*fp</emphasis><emphasis>);</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>int lckpwdf();</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>int lckpwdf();</emphasis>
|
||||
</para>
|
||||
|
||||
<para><emphasis remap='B'>int ulckpwdf();</emphasis>
|
||||
|
||||
<para>
|
||||
<emphasis>int ulckpwdf();</emphasis>
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 id='description'>
|
||||
<title>DESCRIPTION</title>
|
||||
<para><emphasis remap='I'>shadow</emphasis> manipulates the contents of
|
||||
the shadow password file, <filename>/etc/shadow</filename>.
|
||||
The structure in the <emphasis remap='I'>#include</emphasis> file is:
|
||||
<para>
|
||||
<emphasis remap='I'>shadow</emphasis> manipulates the contents of the
|
||||
shadow password file, <filename>/etc/shadow</filename>. The structure
|
||||
in the <emphasis remap='I'>#include</emphasis> file is:
|
||||
</para>
|
||||
<programlisting>struct spwd {
|
||||
char *sp_namp; /* user login name */
|
||||
@@ -72,110 +83,116 @@
|
||||
<para>The meanings of each field are:</para>
|
||||
<itemizedlist mark='bullet'>
|
||||
<listitem>
|
||||
<para>sp_namp - pointer to null-terminated user name</para>
|
||||
<para>sp_namp - pointer to null-terminated user name</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_pwdp - pointer to null-terminated password</para>
|
||||
<para>sp_pwdp - pointer to null-terminated password</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_lstchg - days since Jan 1, 1970 password was last changed</para>
|
||||
<para>sp_lstchg - days since Jan 1, 1970 password was last changed</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_min - days before which password may not be changed</para>
|
||||
<para>sp_min - days before which password may not be changed</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_max - days after which password must be changed</para>
|
||||
<para>sp_max - days after which password must be changed</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_warn - days before password is to expire that user is warned of
|
||||
<para>sp_warn - days before password is to expire that user is warned of
|
||||
pending password expiration
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_inact - days after password expires that account is considered
|
||||
inactive and disabled
|
||||
<para>sp_inact - days after password expires that account is considered
|
||||
inactive and disabled
|
||||
</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_expire - days since Jan 1, 1970 when account will be disabled</para>
|
||||
<para>sp_expire - days since Jan 1, 1970 when account will be disabled</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>sp_flag - reserved for future use</para>
|
||||
<para>sp_flag - reserved for future use</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 id='description2'>
|
||||
<title>DESCRIPTION</title>
|
||||
<para><emphasis remap='B'>getspent</emphasis>, <emphasis
|
||||
remap='B'>getspname</emphasis> <emphasis
|
||||
remap='B'>fgetspent</emphasis>, and <emphasis
|
||||
remap='B'>sgetspent</emphasis> each return a pointer to a <emphasis
|
||||
remap='B'>struct spwd</emphasis>. <emphasis
|
||||
remap='B'>getspent</emphasis> returns the next entry from the file,
|
||||
and <emphasis remap='B'>fgetspent</emphasis> returns the next entry
|
||||
from the given stream, which is assumed to be a file of the proper
|
||||
format. <emphasis remap='B'>sgetspent</emphasis> returns a pointer to
|
||||
a <emphasis remap='B'>struct spwd</emphasis> using the provided string
|
||||
as input. <emphasis remap='B'>getspnam</emphasis> searches from the
|
||||
current position in the file for an entry matching <emphasis
|
||||
remap='B'>name</emphasis>.
|
||||
<para>
|
||||
<emphasis>getspent</emphasis>, <emphasis>getspname</emphasis>,
|
||||
<emphasis>fgetspent</emphasis>, and <emphasis>sgetspent</emphasis>
|
||||
each return a pointer to a <emphasis>struct spwd</emphasis>.
|
||||
<emphasis>getspent</emphasis> returns the next entry from the file,
|
||||
and <emphasis>fgetspent</emphasis> returns the next entry from the
|
||||
given stream, which is assumed to be a file of the proper format.
|
||||
<emphasis>sgetspent</emphasis> returns a pointer to a <emphasis>struct
|
||||
spwd</emphasis> using the provided string as input.
|
||||
<emphasis>getspnam</emphasis> searches from the current position in
|
||||
the file for an entry matching <emphasis>name</emphasis>.
|
||||
</para>
|
||||
<para><emphasis remap='B'>setspent</emphasis> and <emphasis
|
||||
remap='B'>endspent</emphasis> may be used to begin and end,
|
||||
respectively, access to the shadow password file.
|
||||
|
||||
<para>
|
||||
<emphasis>setspent</emphasis> and <emphasis>endspent</emphasis> may be
|
||||
used to begin and end, respectively, access to the shadow password
|
||||
file.
|
||||
</para>
|
||||
<para>The <emphasis remap='B'>lckpwdf</emphasis> and <emphasis
|
||||
remap='B'>ulckpwdf</emphasis> routines should be used to insure
|
||||
exclusive access to the <filename>/etc/shadow</filename> file.
|
||||
<emphasis remap='B'>lckpwdf</emphasis> attempts to acquire a lock
|
||||
using <emphasis remap='B'>pw_lock</emphasis> for up to 15 seconds. It
|
||||
continues by attempting to acquire a second lock using <emphasis
|
||||
remap='B'>spw_lock</emphasis> for the remainder of the initial 15
|
||||
seconds. Should either attempt fail after a total of 15 seconds,
|
||||
<emphasis remap='B'>lckpwdf</emphasis> returns -1. When both locks are
|
||||
acquired 0 is returned.
|
||||
|
||||
<para>
|
||||
The <emphasis>lckpwdf</emphasis> and <emphasis>ulckpwdf</emphasis>
|
||||
routines should be used to insure exclusive access to the
|
||||
<filename>/etc/shadow</filename> file. <emphasis>lckpwdf</emphasis>
|
||||
attempts to acquire a lock using <emphasis>pw_lock</emphasis> for up
|
||||
to 15 seconds. It continues by attempting to acquire a second lock
|
||||
using <emphasis>spw_lock</emphasis> for the remainder of the initial
|
||||
15 seconds. Should either attempt fail after a total of 15 seconds,
|
||||
<emphasis>lckpwdf</emphasis> returns -1. When both locks are acquired
|
||||
0 is returned.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 id='diagnostics'>
|
||||
<title>DIAGNOSTICS</title>
|
||||
<para>Routines return NULL if no more entries are available or if an
|
||||
error occurs during processing. Routines which have <emphasis
|
||||
remap='B'>int</emphasis> as the return value return 0 for success and
|
||||
<para>
|
||||
Routines return NULL if no more entries are available or if an error
|
||||
occurs during processing. Routines which have <emphasis>int</emphasis>
|
||||
as the return value return 0 for success and
|
||||
-1 for failure.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 id='caveats'>
|
||||
<title>CAVEATS</title>
|
||||
<para>These routines may only be used by the super user as access to the
|
||||
<para>
|
||||
These routines may only be used by the super user as access to the
|
||||
shadow password file is restricted.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 id='files'>
|
||||
<title>FILES</title>
|
||||
<variablelist>
|
||||
<varlistentry>
|
||||
<term><filename>/etc/shadow</filename></term>
|
||||
<listitem>secure user account information</listitem>
|
||||
<term><filename>/etc/shadow</filename></term>
|
||||
<listitem>
|
||||
<para>secure user account information</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 id='see_also'>
|
||||
<title>SEE ALSO</title>
|
||||
<para><citerefentry>
|
||||
<refentrytitle>getpwent</refentrytitle><manvolnum>3</manvolnum>
|
||||
<para>
|
||||
<citerefentry>
|
||||
<refentrytitle>getpwent</refentrytitle><manvolnum>3</manvolnum>
|
||||
</citerefentry>,
|
||||
<citerefentry>
|
||||
<refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>
|
||||
<refentrytitle>shadow</refentrytitle><manvolnum>5</manvolnum>
|
||||
</citerefentry>.
|
||||
</para>
|
||||
</refsect1>
|
||||
|
||||
|
||||
<refsect1 id='author'>
|
||||
<title>AUTHOR</title>
|
||||
<para>Julianne Frances Haugh (jockgrrl@ix.netcom.com)</para>
|
||||
|
||||
Reference in New Issue
Block a user