730fc8fc33
users with -u. * src/faillog.c: Do not call print_one() for users which do not exist. * src/faillog.c: Make sure the user's entry is not outside the faillog file and initialize the faillog structure in that case. * src/faillog.c: Move print_one() closer to print(). * src/faillog.c: reset(), setmax(), set_locktime() can also change entries of user which do not exist. * src/faillog.c: reset(), setmax() and set_locktime() shall not create entries for users which have no entries if the value has to be set to 0. * src/faillog.c: reset(), setmax() and set_locktime(): better handling of users whose entry is outside the faillog file. * src/faillog.c: Improved option handling. Options can now be specified in any order. * src/faillog.c: Improved warnings when options are not compatible or when the faillog cannot be open with the right mode. * src/faillog.c: Only fstat the faillog file once. * man/faillog.8.xml: Improved documentation.
227 lines
7.6 KiB
XML
227 lines
7.6 KiB
XML
<?xml version="1.0" encoding="UTF-8"?>
|
|
<!--
|
|
Copyright (c) 1989 - 1994, Julianne Frances Haugh
|
|
Copyright (c) 2007 - 2009, Nicolas François
|
|
All rights reserved.
|
|
|
|
Redistribution and use in source and binary forms, with or without
|
|
modification, are permitted provided that the following conditions
|
|
are met:
|
|
1. Redistributions of source code must retain the above copyright
|
|
notice, this list of conditions and the following disclaimer.
|
|
2. Redistributions in binary form must reproduce the above copyright
|
|
notice, this list of conditions and the following disclaimer in the
|
|
documentation and/or other materials provided with the distribution.
|
|
3. The name of the copyright holders or contributors may not be used to
|
|
endorse or promote products derived from this software without
|
|
specific prior written permission.
|
|
|
|
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
|
``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
|
LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
|
|
PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
|
HOLDERS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
|
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
|
LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
|
DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
|
THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
|
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
-->
|
|
<refentry id='faillog.8'>
|
|
<!-- $Id$ -->
|
|
<refmeta>
|
|
<refentrytitle>faillog</refentrytitle>
|
|
<manvolnum>8</manvolnum>
|
|
<refmiscinfo class="sectdesc">System Management Commands</refmiscinfo>
|
|
</refmeta>
|
|
<refnamediv id='name'>
|
|
<refname>faillog</refname>
|
|
<refpurpose>display faillog records or set login failure limits</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsynopsisdiv id='synopsis'>
|
|
<cmdsynopsis>
|
|
<command>faillog</command>
|
|
<arg choice='opt'>
|
|
<replaceable>options</replaceable>
|
|
</arg>
|
|
</cmdsynopsis>
|
|
</refsynopsisdiv>
|
|
|
|
<refsect1 id='description'>
|
|
<title>DESCRIPTION</title>
|
|
<para>
|
|
<command>faillog</command> formats the contents of the failure log
|
|
from <filename>/var/log/faillog</filename> database. It also can be
|
|
used for maintains failure counters and limits. Run
|
|
<command>faillog</command> without arguments display only list of user
|
|
faillog records who have ever had a login failure.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 id='options'>
|
|
<title>OPTIONS</title>
|
|
<para>
|
|
The options which apply to the <command>faillog</command> command
|
|
are:
|
|
</para>
|
|
<variablelist remap='IP'>
|
|
<varlistentry>
|
|
<term><option>-a</option>, <option>--all</option></term>
|
|
<listitem>
|
|
<para>
|
|
Display (or act on) faillog records for all users having an
|
|
entry in the <filename>faillog</filename> database.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-h</option>, <option>--help</option></term>
|
|
<listitem>
|
|
<para>Display help message and exit.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<option>-l</option>, <option>--lock-time</option>
|
|
<replaceable>SEC</replaceable>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Lock account to <replaceable>SEC</replaceable>
|
|
seconds after failed login.
|
|
</para>
|
|
<para>
|
|
Write access to <filename>/var/log/faillog</filename>
|
|
is required for this option.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<option>-m</option>, <option>--maximum</option>
|
|
<replaceable>MAX</replaceable>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Set maximum number of login failures after the account is
|
|
disabled to <replaceable>MAX</replaceable>.
|
|
</para>
|
|
<para>
|
|
Selecting a
|
|
<replaceable>MAX</replaceable> value of 0 has the effect of not
|
|
placing a limit on the number of failed logins.
|
|
</para>
|
|
<para>
|
|
The maximum
|
|
failure count should always be 0 for <emphasis>root</emphasis>
|
|
to prevent a denial of services attack against the system.
|
|
</para>
|
|
<para>
|
|
Write access to <filename>/var/log/faillog</filename>
|
|
is required for this option.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-r</option>, <option>--reset</option></term>
|
|
<listitem>
|
|
<para>
|
|
Reset the counters of login failures or one record if used with
|
|
the <option>-u</option> <replaceable>LOGIN</replaceable>
|
|
option.
|
|
</para>
|
|
<para>
|
|
Write access to <filename>/var/log/faillog</filename>
|
|
is required for this option.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><option>-t</option>, <option>--time</option>
|
|
<replaceable>DAYS</replaceable>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Display faillog records more recent than
|
|
<replaceable>DAYS</replaceable>.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term>
|
|
<option>-u</option>, <option>--user</option>
|
|
<replaceable>LOGIN</replaceable>|<replaceable>RANGE</replaceable>
|
|
</term>
|
|
<listitem>
|
|
<para>
|
|
Display faillog record or maintains failure counters and limits
|
|
(if used with <option>-l</option>, <option>-m</option> or
|
|
<option>-r</option> options) only for the specified user(s).
|
|
</para>
|
|
<para>
|
|
The users can be specified by a login name, a numerical user
|
|
ID, or a <replaceable>RANGE</replaceable> of users. This
|
|
<replaceable>RANGE</replaceable> of users can be specified
|
|
with a min and max values
|
|
(<replaceable>UID_MIN-UID_MAX</replaceable>), a max value
|
|
(<replaceable>-UID_MAX</replaceable>), or a min value
|
|
(<replaceable>UID_MIN-</replaceable>).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
|
|
<para>
|
|
When none of the <option>-l</option>, <option>-m</option>, or
|
|
<option>-r</option> options are used, <command>faillog</command>
|
|
displays the faillog record of the specified user(s).
|
|
</para>
|
|
<para>
|
|
NOTE: in display mode, only the records of users which currently
|
|
exist in the system are displayed. In the other modes (when the
|
|
<option>-l</option>, <option>-m</option>, or <option>-r</option>
|
|
options are used), the records of the user, or the range of users,
|
|
or all the users that may have an entry in the faillog database will
|
|
be changed. This is useful to reset records of users that have been
|
|
deleted or set a policy in advance for a range of users.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 id='caveats'>
|
|
<title>CAVEATS</title>
|
|
<para>
|
|
<command>faillog</command> only prints out users with no successful
|
|
login since the last failure. To print out a user who has had a
|
|
successful login since their last failure, you must explicitly request
|
|
the user with the <option>-u</option> flag, or print out all users
|
|
with the <option>-a</option> flag.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 id='files'>
|
|
<title>FILES</title>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><filename>/var/log/faillog</filename></term>
|
|
<listitem>
|
|
<para>Failure logging file.</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1 id='see_also'>
|
|
<title>SEE ALSO</title>
|
|
<para>
|
|
<citerefentry>
|
|
<refentrytitle>login</refentrytitle><manvolnum>1</manvolnum>
|
|
</citerefentry>,
|
|
<citerefentry>
|
|
<refentrytitle>faillog</refentrytitle><manvolnum>5</manvolnum>
|
|
</citerefentry>.
|
|
</para>
|
|
</refsect1>
|
|
</refentry>
|