Blob Blame History Raw
<?xml version="1.0" encoding='UTF-8'?>
<!DOCTYPE refentry PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
	"http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd">

<refentry id="pam_timestamp">

  <refmeta>
    <refentrytitle>pam_timestamp</refentrytitle>
    <manvolnum>8</manvolnum>
    <refmiscinfo class="sectdesc">Linux-PAM Manual</refmiscinfo>
  </refmeta>

  <refnamediv id="pam_timestamp-name">
    <refname>pam_timestamp</refname>
    <refpurpose>Authenticate using cached successful authentication attempts</refpurpose>
  </refnamediv>

  <refsynopsisdiv>
    <cmdsynopsis id="pam_timestamp-cmdsynopsis">
      <command>pam_timestamp.so</command>
      <arg choice="opt">
        timestampdir=<replaceable>directory</replaceable>
      </arg>
      <arg choice="opt">
        timestamp_timeout=<replaceable>number</replaceable>
      </arg>
      <arg choice="opt">
        verbose
      </arg>
      <arg choice="opt">
        debug
      </arg>
    </cmdsynopsis>
  </refsynopsisdiv>

  <refsect1 id="pam_timestamp-description">

    <title>DESCRIPTION</title>

    <para>
      In a nutshell, <emphasis>pam_timestamp</emphasis> caches successful
authentication attempts, and allows you to use a recent successful attempt as
the basis for authentication. This is similar mechanism which is used in
<command>sudo</command>.
    </para>
    <para>
      When an application opens a session using <emphasis>pam_timestamp</emphasis>,
a timestamp file is created in the <emphasis>timestampdir</emphasis> directory
for the user.  When an application attempts to authenticate the user, a
<emphasis>pam_timestamp</emphasis> will treat a sufficiently recent timestamp
file as grounds for succeeding.
    </para>
  </refsect1>

  <refsect1 id="pam_timestamp-options">

    <title>OPTIONS</title>
    <variablelist>
      <varlistentry>
         <term>
            <option>timestampdir=<replaceable>directory</replaceable></option>
         </term>
         <listitem>
            <para>
               Specify an alternate directory where
	       <emphasis>pam_timestamp</emphasis> creates timestamp files.
            </para>
         </listitem>
      </varlistentry>
      <varlistentry>
         <term>
            <option>timestamp_timeout=<replaceable>number</replaceable></option>
         </term>
         <listitem>
            <para>
               How long should <emphasis>pam_timestamp</emphasis>
	       treat timestamp as valid after their
               last modification date (in seconds). Default is 300 seconds.
            </para>
         </listitem>
      </varlistentry>
      <varlistentry>
         <term>
            <option>verbose</option>
         </term>
         <listitem>
            <para>
               Attempt to inform the user when access is granted.
            </para>
         </listitem>
      </varlistentry>
      <varlistentry>
         <term>
            <option>debug</option>
         </term>
         <listitem>
            <para>
               Turns on debugging messages sent to <citerefentry>
	       <refentrytitle>syslog</refentrytitle><manvolnum>3</manvolnum>
	       </citerefentry>.
            </para>
         </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id="pam_timestamp-types">
    <title>MODULE TYPES PROVIDED</title>
    <para>
      The <option>auth</option> and <option>session</option>
      module types are provided.
    </para>
  </refsect1>

  <refsect1 id='pam_timestamp-return_values'>
    <title>RETURN VALUES</title>
    <variablelist>
      <varlistentry>
        <term>PAM_AUTH_ERR</term>
        <listitem>
          <para>
            The module was not able to retrieve the user name or
            no valid timestamp file was found.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_SUCCESS</term>
        <listitem>
          <para>
            Everything was successful.
          </para>
        </listitem>
      </varlistentry>
      <varlistentry>
        <term>PAM_SESSION_ERR</term>
        <listitem>
          <para>
	    Timestamp file could not be created or updated.
          </para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id='pam_timestamp-notes'>
    <title>NOTES</title>
    <para>
      Users can get confused when they are not always asked for passwords when
running a given program. Some users reflexively begin typing information before
noticing that it is not being asked for.
    </para>
  </refsect1>

  <refsect1 id='pam_timestamp-examples'>
    <title>EXAMPLES</title>
    <programlisting>
auth sufficient pam_timestamp.so verbose
auth required   pam_unix.so

session required pam_unix.so
session optional pam_timestamp.so
    </programlisting>
  </refsect1>

  <refsect1 id="pam_timestamp-files">
    <title>FILES</title>
    <variablelist>
      <varlistentry>
        <term><filename>/var/run/pam_timestamp/...</filename></term>
        <listitem>
          <para>timestamp files and directories</para>
        </listitem>
      </varlistentry>
    </variablelist>
  </refsect1>

  <refsect1 id='pam_timestamp-see_also'>
    <title>SEE ALSO</title>
    <para>
      <citerefentry>
	<refentrytitle>pam_timestamp_check</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>pam.conf</refentrytitle><manvolnum>5</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>pam.d</refentrytitle><manvolnum>5</manvolnum>
      </citerefentry>,
      <citerefentry>
	<refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
      </citerefentry>
    </para>
  </refsect1>

  <refsect1 id='pam_timestamp-author'>
    <title>AUTHOR</title>
      <para>
        pam_timestamp was written by Nalin Dahyabhai.
      </para>
  </refsect1>

</refentry>