+2006-06-02 Thorsten Kukuk <kukuk@thkukuk.de>
+
+ * doc/man/PAM.8: Regenerate with DocBook XSL Stylesheets v1.70.1.
+ * doc/man/pam.3: Likewise.
+ * doc/man/pam.conf.5: Likewise.
+ * doc/man/pam_acct_mgmt.3: Likewise.
+ * doc/man/pam_authenticate.3: Likewise.
+ * doc/man/pam_chauthtok.3: Likewise.
+ * doc/man/pam_close_session.3: Likewise.
+ * doc/man/pam_conv.3: Likewise.
+ * doc/man/pam_end.3: Likewise.
+ * doc/man/pam_error.3: Likewise.
+ * doc/man/pam_fail_delay.3: Likewise.
+ * doc/man/pam_get_data.3: Likewise.
+ * doc/man/pam_get_item.3: Likewise.
+ * doc/man/pam_get_user.3: Likewise.
+ * doc/man/pam_getenv.3: Likewise.
+ * doc/man/pam_getenvlist.3: Likewise.
+ * doc/man/pam_info.3: Likewise.
+ * doc/man/pam_open_session.3: Likewise.
+ * doc/man/pam_prompt.3: Likewise.
+ * doc/man/pam_putenv.3: Likewise.
+ * doc/man/pam_set_data.3: Likewise.
+ * doc/man/pam_set_item.3: Likewise.
+ * doc/man/pam_setcred.3: Likewise.
+ * doc/man/pam_sm_acct_mgmt.3: Likewise.
+ * doc/man/pam_start.3: Likewise.
+ * doc/man/pam_strerror.3: Likewise.
+ * doc/man/pam_syslog.3: Likewise.
+ * modules/pam_access/access.conf.5: Likewise.
+ * modules/pam_access/pam_access.8: Likewise.
+ * modules/pam_cracklib/pam_cracklib.8: Likewise.
+ * modules/pam_deny/pam_deny.8: Likewise.
+ * modules/pam_echo/pam_echo.8: Likewise.
+ * modules/pam_env/pam_env.8: Likewise.
+ * modules/pam_env/pam_env.conf.5: Likewise.
+ * modules/pam_exec/pam_exec.8: Likewise.
+ * modules/pam_filter/pam_filter.8: Likewise.
+ * modules/pam_ftp/pam_ftp.8: Likewise.
+ * modules/pam_group/group.conf.5: Likewise.
+ * modules/pam_group/pam_group.8: Likewise.
+ * modules/pam_issue/pam_issue.8: Likewise.
+ * modules/pam_lastlog/pam_lastlog.8: Likewise.
+ * modules/pam_mkhomedir/pam_mkhomedir.8: Likewise.
+ * modules/pam_succeed_if/pam_succeed_if.8: Likewise.
+ * modules/pam_umask/pam_umask.8: Likewise.
+
+ * modules/pam_unix/pam_unix_acct.c (pam_sm_acct_mgmt): Use
+ dngettext if available [#1427738].
+ * configure.in: Check for dngettext [#1427738].
+ * po/*.po: Update to dngettext usage.
+
+ * modules/pam_listfile/Makefile.am: Include Make.xml.rules.
+ * modules/pam_listfile/pam_listfile.8.xml: New.
+ * modules/pam_listfile/pam_listfile.8: New, generated from xml file.
+ * modules/pam_listfile/README.xml: New.
+ * modules/pam_listfile/README: Regenerated from xml file.
+
2006-06-01 Thorsten Kukuk <kukuk@thkukuk.de>
* modules/pam_lastlog/Makefile.am: Include Make.xml.rules.
AM_GNU_GETTEXT_VERSION
AM_GNU_GETTEXT([external])
+AC_CHECK_FUNCS(dngettext)
AH_VERBATIM([_ZZENABLE_NLS],
[#ifdef ENABLE_NLS
#include <libintl.h>
-#define _(msgid) dgettext("Linux-PAM", msgid)
+#define _(msgid) dgettext(PACKAGE, msgid)
#define N_(msgid) msgid
#else
#define _(msgid) (msgid)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM" "8" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "DESCRIPTION"
.PP
This manual is intended to offer a quick introduction to
-\fILinux\-PAM\fR. For more information the reader is directed to the
-\fILinux\-PAM system administrators' guide\fR.
+\fBLinux\-PAM\fR. For more information the reader is directed to the
+\fBLinux\-PAM system administrators' guide\fR.
.PP
-\fILinux\-PAM\fR
+\fBLinux\-PAM\fR
Is a system of libraries that handle the authentication tasks of applications (services) on the system. The library provides a stable general interface (Application Programming Interface \- API) that privilege granting programs (such as
\fBlogin\fR(1)
and
\fBsu\fR(1)) defer to to perform standard authentication tasks.
.PP
The principal feature of the PAM approach is that the nature of the authentication is dynamically configurable. In other words, the system administrator is free to choose how individual service\-providing applications will authenticate users. This dynamic configuration is set by the contents of the single
-\fILinux\-PAM\fR
+\fBLinux\-PAM\fR
configuration file
\fI/etc/pam.conf\fR. Alternatively, the configuration can be set by individual configuration files located in the
\fI/etc/pam.d/\fR
directory.
-\fIThe presence of this directory will cause \fR\fILinux\-PAM\fR\fI to ignore\fR\fI/etc/pam.conf\fR.
+\fIThe presence of this directory will cause \fR\fBLinux\-PAM\fR\fI to ignore\fR
+\fI/etc/pam.conf\fR.
.PP
From the point of view of the system administrator, for whom this manual is provided, it is not of primary importance to understand the internal behavior of the
-\fILinux\-PAM\fR
+\fBLinux\-PAM\fR
library. The important point to recognize is that the configuration file(s)
\fIdefine\fR
the connection between applications
-(\fIservices\fR) and the pluggable authentication modules
-(\fIPAM\fRs) that perform the actual authentication tasks.
+(\fBservices\fR) and the pluggable authentication modules
+(\fBPAM\fRs) that perform the actual authentication tasks.
.PP
-\fILinux\-PAM\fR
+\fBLinux\-PAM\fR
separates the tasks of
\fIauthentication\fR
into four independent management groups:
-\fIaccount\fR
+\fBaccount\fR
management;
-\fIauth\fRentication management;
-\fIpassword\fR
+\fBauth\fRentication management;
+\fBpassword\fR
management; and
-\fIsession\fR
+\fBsession\fR
management. (We highlight the abbreviations used for these groups in the configuration file.)
.PP
Simply put, these groups take care of different aspects of a typical user's request for a restricted service:
.PP
-\fIaccount\fR
+\fBaccount\fR
\- provide account verification types of service: has the user's password expired?; is this user permitted access to the requested service?
.PP
-\fIauth\fRentication \- authenticate a user and set up user credentials. Typically this is via some challenge\-response request that the user must satisfy: if you are who you claim to be please enter your password. Not all authentications are of this type, there exist hardware based authentication schemes (such as the use of smart\-cards and biometric devices), with suitable modules, these may be substituted seamlessly for more standard approaches to authentication \- such is the flexibility of
-\fILinux\-PAM\fR.
+\fBauth\fRentication \- authenticate a user and set up user credentials. Typically this is via some challenge\-response request that the user must satisfy: if you are who you claim to be please enter your password. Not all authentications are of this type, there exist hardware based authentication schemes (such as the use of smart\-cards and biometric devices), with suitable modules, these may be substituted seamlessly for more standard approaches to authentication \- such is the flexibility of
+\fBLinux\-PAM\fR.
.PP
-\fIpassword\fR
+\fBpassword\fR
\- this group's responsibility is the task of updating authentication mechanisms. Typically, such services are strongly coupled to those of the
-\fIauth\fR
+\fBauth\fR
group. Some authentication mechanisms lend themselves well to being updated with such a function. Standard UN*X password\-based access is the obvious example: please enter a replacement password.
.PP
-\fIsession\fR
+\fBsession\fR
\- this group of tasks cover things that should be done prior to a service being given and after it is withdrawn. Such tasks include the maintenance of audit trails and the mounting of the user's home directory. The
-\fIsession\fR
+\fBsession\fR
management group is important as it provides both an opening and closing hook for modules to affect the services available to a user.
.SH "FILES"
.PP
\fI/etc/pam.conf\fR
-\- the configuration file\fI/etc/pam.d/\fR
+\- the configuration file
+
+\fI/etc/pam.d/\fR
\- the
-\fILinux\-PAM\fR
+\fBLinux\-PAM\fR
configuration directory. Generally, if this directory is present, the
\fI/etc/pam.conf\fR
-file is ignored.\fI/lib/libpam.so.X\fR
-\- the dynamic library\fI/lib/security/*.so\fR
+file is ignored.
+
+\fI/lib/libpam.so.X\fR
+\- the dynamic library
+
+\fI/lib/security/*.so\fR
\- the PAMs
.SH "ERRORS"
.PP
Typically errors generated by the
-\fILinux\-PAM\fR
+\fBLinux\-PAM\fR
system of libraries, will be written to
\fBsyslog\fR(3).
.SH "CONFORMING TO"
.PP
-DCE\-RFC 86.0, October 1995.Contains additional features, but remains backwardly compatible with this RFC.
+DCE\-RFC 86.0, October 1995.
+Contains additional features, but remains backwardly compatible with this RFC.
.SH "BUGS"
.PP
None known.
.SH "SEE ALSO"
.PP
The three
-\fILinux\-PAM\fR
+\fBLinux\-PAM\fR
Guides, for
-\fIsystem administrators\fR,
-\fImodule developers\fR, and
-\fIapplication developers\fR.
+\fBsystem administrators\fR,
+\fBmodule developers\fR, and
+\fBapplication developers\fR.
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam \- Pluggable Authentication Modules Library
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
-.PP
-\fB#include <security/pam_modules.h>\fR
-.PP
-\fB#include <security/pam_ext.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
+.sp
+.ft B
+.nf
+#include <security/pam_modules.h>
+.fi
+.ft
+.sp
+.ft B
+.nf
+#include <security/pam_ext.h>
+.fi
+.ft
.SH "DESCRIPTION"
.PP
-\fIPAM\fR
+
+\fBPAM\fR
is a system of libraries that handle the authentication tasks of applications (services) on the system. The library provides a stable general interface (Application Programming Interface \- API) that privilege granting programs (such as
\fBlogin\fR(1)
and
The
\fBpam_end\fR(3)
function terminates the PAM transaction and is the last function an application should call in the PAM contenxt. Upon return the handle pamh is no longer valid and all memory associated with it will be invalid. It can be called at any time to terminate a PAM transaction.
+.\" end of SS subsection "Initialization and Cleanup"
.SS "Authentication"
.PP
The
The
\fBpam_setcred\fR(3)
function manages the userscredentials.
+.\" end of SS subsection "Authentication"
.SS "Account Management"
.PP
The
\fBpam_acct_mgmt\fR(3)
function is used to determine if the users account is valid. It checks for authentication token and account expiration and verifies access restrictions. It is typically called after the user has been authenticated.
+.\" end of SS subsection "Account Management"
.SS "Password Management"
.PP
The
\fBpam_chauthtok\fR(3)
function is used to change the authentication token for a given user on request or because the token has expired.
+.\" end of SS subsection "Password Management"
.SS "Session Management"
.PP
The
\fBpam_open_session\fR(3)
function sets up a user session for a previously successful authenticated user. The session should later be terminated with a call to
\fBpam_close_session\fR(3).
+.\" end of SS subsection "Session Management"
.SS "Conversation"
.PP
The PAM library uses an application\-defined callback to allow a direct communication between a loaded module and the application. This callback is specified by the
at the start of the transaction. See
\fBpam_conv\fR(3)
for details.
+.\" end of SS subsection "Conversation"
.SS "Data Objects"
.PP
The
and
\fBpam_get_data\fR(3)
functions allows PAM service modules to set and retrieve free\-form data from one invocation to another.
+.\" end of SS subsection "Data Objects"
.SS "Environment and Error Management"
.PP
The
The
\fBpam_strerror\fR(3)
function returns a pointer to a string describing the given PAM error code.
+.\" end of SS subsection "Environment and Error Management"
.SH "RETURN VALUES"
.PP
The following return codes are known by PAM:
-.TP
+.TP 3n
PAM_ABORT
Critical error, immediate abort.
-.TP
+.TP 3n
PAM_ACCT_EXPIRED
User account has expired.
-.TP
+.TP 3n
PAM_AUTHINFO_UNAVAIL
Authentication service cannot retrieve authentication info.
-.TP
+.TP 3n
PAM_AUTHTOK_DISABLE_AGING
Authentication token aging disabled.
-.TP
+.TP 3n
PAM_AUTHTOK_ERR
Authentication token manipulation error.
-.TP
+.TP 3n
PAM_AUTHTOK_EXPIRED
Authentication token expired.
-.TP
+.TP 3n
PAM_AUTHTOK_LOCK_BUSY
Authentication token lock busy.
-.TP
+.TP 3n
PAM_AUTHTOK_RECOVERY_ERR
Authentication information cannot be recovered.
-.TP
+.TP 3n
PAM_AUTH_ERR
Authentication failure.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CONV_ERR
Conversation failure.
-.TP
+.TP 3n
PAM_CRED_ERR
Failure setting user credentials.
-.TP
+.TP 3n
PAM_CRED_EXPIRED
User credentials expired.
-.TP
+.TP 3n
PAM_CRED_INSUFFICIENT
Insufficient credentials to access authentication data.
-.TP
+.TP 3n
PAM_CRED_UNAVAIL
Authentication service cannot retrieve user credentials.
-.TP
+.TP 3n
PAM_IGNORE
The return value should be ignored by PAM dispatch.
-.TP
+.TP 3n
PAM_MAXTRIES
Have exhausted maximum number of retries for service.
-.TP
+.TP 3n
PAM_MODULE_UNKNOWN
Module is unknown.
-.TP
+.TP 3n
PAM_NEW_AUTHTOK_REQD
Authentication token is no longer valid; new one required.
-.TP
+.TP 3n
PAM_NO_MODULE_DATA
No module specific data is present.
-.TP
+.TP 3n
PAM_OPEN_ERR
Failed to load module.
-.TP
+.TP 3n
PAM_PERM_DENIED
Permission denied.
-.TP
+.TP 3n
PAM_SERVICE_ERR
Error in service module.
-.TP
+.TP 3n
PAM_SESSION_ERR
Cannot make/remove an entry for the specified session.
-.TP
+.TP 3n
PAM_SUCCESS
Success.
-.TP
+.TP 3n
PAM_SYMBOL_ERR
Symbol not found.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
System error.
-.TP
+.TP 3n
PAM_TRY_AGAIN
Failed preliminary check by password service.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User not known to the underlying authentication module.
.SH "SEE ALSO"
.PP
+
\fBpam_acct_mgmt\fR(3),
\fBpam_authenticate\fR(3),
\fBpam_chauthtok\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM.CONF" "5" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam.conf
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM.CONF" "5" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.PP
The format of each rule is a space separated collection of tokens, the first three being case\-insensitive:
.PP
-\fI service type control module\-path module\-arguments\fR
+
+\fB service type control module\-path module\-arguments\fR
.PP
The syntax of files contained in the
\fI/etc/pam.d/\fR
The
\fItype\fR
is the management group that the rule corresponds to. It is used to specify which of the management groups the subsequent module is to be associated with. Valid entries are:
-.TP
+.TP 3n
account
this module type performs non\-authentication based account management. It is typically used to restrict/permit access to a service based on the time of day, currently available system resources (maximum number of users) or perhaps the location of the applicant user \-\- 'root' login only on the console.
-.TP
+.TP 3n
auth
this module type provides two aspects of authenticating the user. Firstly, it establishes that the user is who they claim to be, by instructing the application to prompt the user for a password or other means of identification. Secondly, the module can grant group membership or other privileges through its credential granting properties.
-.TP
+.TP 3n
password
this module type is required for updating the authentication token associated with the user. Typically, there is one module for each 'challenge/response' based authentication (auth) type.
-.TP
+.TP 3n
session
this module type is associated with doing things that need to be done for the user before/after they can be given service. Such things include the logging of information concerning the opening/closing of some data exchange with a user, mounting directories, etc.
.PP
For the simple (historical) syntax valid
\fIcontrol\fR
values are:
-.TP
+.TP 3n
required
failure of such a PAM will ultimately lead to the PAM\-API returning failure but only after the remaining
\fIstacked\fR
\fIservice\fR
and
\fItype\fR) have been invoked.
-.TP
+.TP 3n
requisite
like
\fIrequired\fR, however, in the case that such a module returns a failure, control is directly returned to the application. The return value is that associated with the first required or requisite module to fail. Note, this flag can be used to protect against the possibility of a user getting the opportunity to enter a password over an unsafe medium. It is conceivable that such behavior might inform an attacker of valid accounts on a system. This possibility should be weighed against the not insignificant concerns of exposing a sensitive password in a hostile environment.
-.TP
+.TP 3n
sufficient
success of such a module is enough to satisfy the authentication requirements of the stack of modules (if a prior
\fIrequired\fR
module has failed the success of this one is
\fIignored\fR). A failure of this module is not deemed as fatal to satisfying the application that this type has succeeded.
-.TP
+.TP 3n
optional
the success or failure of this module is only important if it is the only module in the stack associated with this
\fIservice\fR+\fItype\fR.
-.TP
+.TP 3n
include
include all lines of given type from the configuration file specified as an argument to this control.
.PP
\fIcontrol\fR
values have the following form:
.sp
+.RS 3n
.nf
[value1=action1 value2=action2 ...]
.fi
+.RE
.PP
Where
\fIvalueN\fR
\fIn\fR, signifying an action of 'jump over the next
\fIn\fR
modules in the stack', or take one of the following forms:
-.TP
+.TP 3n
ignore
when used with a stack of modules, the module's return status will not contribute to the return code the application obtains.
-.TP
+.TP 3n
bad
this action indicates that the return code should be thought of as indicative of the module failing. If this module is the first in the stack to fail, its status value will be used for that of the whole stack.
-.TP
+.TP 3n
die
equivalent to bad with the side effect of terminating the module stack and PAM immediately returning to the application.
-.TP
+.TP 3n
ok
this tells PAM that the administrator thinks this return code should contribute directly to the return code of the full stack of modules. In other words, if the former state of the stack would lead to a return of
\fIPAM_SUCCESS\fR, the module's return code will override this value. Note, if the former state of the stack holds some value that is indicative of a modules failure, this 'ok' value will not be used to override that value.
-.TP
+.TP 3n
done
equivalent to ok with the side effect of terminating the module stack and PAM immediately returning to the application.
-.TP
+.TP 3n
reset
clear all memory of the state of the module stack and start again with the next stacked module.
.PP
Each of the four keywords: required; requisite; sufficient; and optional, have an equivalent expression in terms of the [...] syntax. They are as follows:
-.TP
+.TP 3n
required
[success=ok new_authtok_reqd=ok ignore=ignore default=bad]
-.TP
+.TP 3n
requisite
[success=ok new_authtok_reqd=ok ignore=ignore default=die]
-.TP
+.TP 3n
sufficient
[success=done new_authtok_reqd=done default=ignore]
-.TP
+.TP 3n
optional
[success=ok new_authtok_reqd=ok default=ignore]
.PP
+
\fImodule\-path\fR
is either the full filename of the PAM to be used by the application (it begins with a '/'), or a relative pathname from the default module location:
\fI/lib/security/\fR
or
\fI/lib64/security/\fR, depending on the architecture.
.PP
+
\fImodule\-arguments\fR
are a space separated list of tokens that can be used to modify the specific behavior of the given PAM. Such arguments will be documented for each individual module. Note, if you wish to include spaces in an argument, you should surround that argument with square brackets.
.sp
+.RS 3n
.nf
squid auth required pam_mysql.so user=passwd_query passwd=mada \\
db=eminence [query=select user_name from internet_service \\
service='web_proxy']
.fi
+.RE
.PP
When using this convention, you can include `[' characters inside the string, and if you wish to include a `]' character inside the string that will survive the argument parsing, you should use `\\['. In other words:
.sp
+.RS 3n
.nf
[..[..\\]..] \-\-> ..[..]..
.fi
+.RE
.PP
Any line in (one of) the configuration file(s), that is not formatted correctly, will generally tend (erring on the side of caution) to make the authentication process fail. A corresponding error is written to the system log files with a call to
\fBsyslog\fR(3).
\fI/etc/pam.conf\fR
file and is made up of lines of the following form:
.PP
-\fI type control module\-path module\-arguments\fR
+
+\fB type control module\-path module\-arguments\fR
.SH "SEE ALSO"
.PP
+
\fBpam\fR(3),
\fBPAM\fR(8),
\fBpam_start\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_ACCT_MGMT" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_acct_mgmt
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_ACCT_MGMT" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_acct_mgmt \- PAM account validation management
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 18
-\fBint\ \fBpam_acct_mgmt\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIflags\fR\fR\fB);\fR
+.BI "int pam_acct_mgmt(pam_handle_t\ *" "pamh" ", int\ " "flags" ");"
.SH "DESCRIPTION"
.PP
The
The
\fIpamh\fR
argument is an authentication handle obtained by a prior call to pam_start(). The flags argument is the binary or of zero or more of the following values:
-.TP
+.TP 3n
PAM_SILENT
Do not emit any messages.
-.TP
+.TP 3n
PAM_DISALLOW_NULL_AUTHTOK
The PAM module service should return PAM_NEW_AUTHTOK_REQD if the user has a null authentication token.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_ACCT_EXPIRED
User account has expired.
-.TP
+.TP 3n
PAM_AUTH_ERR
Authentication failure.
-.TP
+.TP 3n
PAM_NEW_AUTHTOK_REQD
The user account is valid but their authentication token is
\fIexpired\fR. The correct response to this return\-value is to require that the user satisfies the
\fBpam_chauthtok()\fR
function before obtaining service. It may not be possible for some applications to do this. In such cases, the user should be denied access until such time as they can update their password.
-.TP
+.TP 3n
PAM_PERM_DENIED
Permission denied.
-.TP
+.TP 3n
PAM_SUCCESS
The authentication token was successfully updated.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User unknown to password service.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_authenticate\fR(3),
\fBpam_chauthtok\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_AUTHENTICATE" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_authenticate
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_AUTHENTICATE" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_authenticate \- account authentication
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 21
-\fBint\ \fBpam_authenticate\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIflags\fR\fR\fB);\fR
+.BI "int pam_authenticate(pam_handle_t\ *" "pamh" ", int\ " "flags" ");"
.SH "DESCRIPTION"
.PP
The
The
\fIpamh\fR
argument is an authentication handle obtained by a prior call to pam_start(). The flags argument is the binary or of zero or more of the following values:
-.TP
+.TP 3n
PAM_SILENT
Do not emit any messages.
-.TP
+.TP 3n
PAM_DISALLOW_NULL_AUTHTOK
The PAM module service should return PAM_AUTH_ERR if the user does not have a registered authentication token.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_ABORT
The application should exit immediately after calling
\fBpam_end\fR(3)
first.
-.TP
+.TP 3n
PAM_AUTH_ERR
The user was not authenticated.
-.TP
+.TP 3n
PAM_CRED_INSUFFICIENT
For some reason the application does not have sufficient credentials to authenticate the user.
-.TP
+.TP 3n
PAM_AUTHINFO_UNVAIL
The modules were not able to access the authentication information. This might be due to a network or hardware failure etc.
-.TP
+.TP 3n
PAM_MAXTRIES
One or more of the authentication modules has reached its limit of tries authenticating the user. Do not try again.
-.TP
+.TP 3n
PAM_SUCCESS
The user was successfully authenticated.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User unknown to authentication service.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_setcred\fR(3),
\fBpam_chauthtok\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_CHAUTHTOK" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_chauthtok
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_CHAUTHTOK" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_chauthtok \- updating authentication tokens
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 18
-\fBint\ \fBpam_chauthtok\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIflags\fR\fR\fB);\fR
+.BI "int pam_chauthtok(pam_handle_t\ *" "pamh" ", int\ " "flags" ");"
.SH "DESCRIPTION"
.PP
The
The
\fIpamh\fR
argument is an authentication handle obtained by a prior call to pam_start(). The flags argument is the binary or of zero or more of the following values:
-.TP
+.TP 3n
PAM_SILENT
Do not emit any messages.
-.TP
+.TP 3n
PAM_CHANGE_EXPIRED_AUTHTOK
This argument indicates to the modules that the users authentication token (password) should only be changed if it has expired. If this argument is not passed, the application requires that all authentication tokens are to be changed.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_AUTHTOK_ERR
A module was unable to obtain the new authentication token.
-.TP
+.TP 3n
PAM_AUTHTOK_RECOVERY_ERR
A module was unable to obtain the old authentication token.
-.TP
+.TP 3n
PAM_AUTHTOK_LOCK_BUSY
One or more of the modules was unable to change the authentication token since it is currently locked.
-.TP
+.TP 3n
PAM_AUTHTOK_DISABLE_AGING
Authentication token aging has been disabled for at least one of the modules.
-.TP
+.TP 3n
PAM_PERM_DENIED
Permission denied.
-.TP
+.TP 3n
PAM_SUCCESS
The authentication token was successfully updated.
-.TP
+.TP 3n
PAM_TRY_AGAIN
Not all of the modules were in a position to update the authentication token(s). In such a case none of the user's authentication tokens are updated.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User unknown to password service.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_authenticate\fR(3),
\fBpam_setcred\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_CLOSE_SESSION" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_close_session
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_CLOSE_SESSION" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_close_session \- terminating PAM session management
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 22
-\fBint\ \fBpam_close_session\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIflags\fR\fR\fB);\fR
+.BI "int pam_close_session(pam_handle_t\ *" "pamh" ", int\ " "flags" ");"
.SH "DESCRIPTION"
.PP
The
\fBgeteuid\fR(2). of the application should be of sufficient privilege to perform such tasks as unmounting the user's home directory for example.
.PP
The flags argument is the binary or of zero or more of the following values:
-.TP
+.TP 3n
PAM_SILENT
Do not emit any messages.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_ABORT
General failure.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_SESSION_ERR
Session failure.
-.TP
+.TP 3n
PAM_SUCCESS
Session was successful terminated.
.SH "SEE ALSO"
.PP
+
\fBpam_open_session\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_CONV" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_conv
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_CONV" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_conv \- PAM conversation function
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
+.sp
+.RS 3n
.nf
struct pam_message {
int msg_style;
};
.fi
+.RE
.SH "DESCRIPTION"
.PP
The PAM library uses an application\-defined callback to allow a direct communication between a loaded module and the application. This callback is specified by the
\fImsg_style\fR
member of
\fIstruct pam_message\fR:
-.TP
+.TP 3n
PAM_PROMPT_ECHO_OFF
Obtain a string without echoing any text.
-.TP
+.TP 3n
PAM_PROMPT_ECHO_ON
Obtain a string whilst echoing text.
-.TP
+.TP 3n
PAM_ERROR_MSG
Display an error message.
-.TP
+.TP 3n
PAM_TEXT_INFO
Display some text.
.PP
In passing, it is worth noting that there is a descrepency between the way Linux\-PAM handles the const struct pam_message **msg conversation function argument from the way that Solaris' PAM (and derivitives, known to include HP/UX, are there others?) does. Linux\-PAM interprets the msg argument as entirely equivalent to the following prototype const struct pam_message *msg[] (which, in spirit, is consistent with the commonly used prototypes for argv argument to the familiar main() function: char **argv; and char *argv[]). Said another way Linux\-PAM interprets the msg argument as a pointer to an array of num_meg read only 'struct pam_message' pointers. Solaris' PAM implementation interprets this argument as a pointer to a pointer to an array of num_meg pam_message structures. Fortunately, perhaps, for most module/application developers when num_msg has a value of one these two definitions are entirely equivalent. Unfortunately, casually raising this number to two has led to unanticipated compatibility problems.
.PP
For what its worth the two known module writer work\-arounds for trying to maintain source level compatibility with both PAM implementations are:
-.TP 3
+.TP 3n
\(bu
never call the conversation function with num_msg greater than one.
-.TP
+.TP 3n
\(bu
set up msg as doubly referenced so both types of conversation function can find the messages. That is, make
.sp
+.RS 3n
.nf
msg[n] = & (( *msg )[n])
.fi
+.RE
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CONV_ERR
Conversation failure. The application should not set
\fI*resp\fR.
-.TP
+.TP 3n
PAM_SUCCESS
Success.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_set_item\fR(3),
\fBpam_get_item\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_END" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_end
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_END" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_end \- termination of PAM transaction
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 12
-\fBint\ \fBpam_end\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIpam_status\fR\fR\fB);\fR
+.BI "int pam_end(pam_handle_t\ *" "pamh" ", int\ " "pam_status" ");"
.SH "DESCRIPTION"
.PP
The
\fBpam_end\fR
was called.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_SUCCESS
Transaction was successful terminated.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
System error, for example a NULL pointer was submitted as PAM handle or the function was called by a module.
.SH "SEE ALSO"
.PP
+
\fBpam_get_data\fR(3),
\fBpam_set_data\fR(3),
\fBpam_start\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_ERROR" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_error
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_ERROR" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_error, pam_verror \- display error messages to the user
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_ext.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_ext.h>
+.fi
+.ft
.HP 14
-\fBint\ \fBpam_error\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fB\fI...\fR\fR\fB);\fR
+.BI "int pam_error(pam_handle_t\ *" "pamh" ", const\ char\ *" "fmt" ", " "..." ");"
.HP 15
-\fBint\ \fBpam_verror\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fBva_list\ \fR\fB\fIargs\fR\fR\fB);\fR
+.BI "int pam_verror(pam_handle_t\ *" "pamh" ", const\ char\ *" "fmt" ", va_list\ " "args" ");"
.SH "DESCRIPTION"
.PP
The
\fBstdarg\fR(3)
variable argument list macros.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CONV_ERR
Conversation failure.
-.TP
+.TP 3n
PAM_SUCCESS
Error message was displayed.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
System error.
.SH "SEE ALSO"
.PP
+
\fBpam_info\fR(3),
\fBpam_vinfo\fR(3),
\fBpam_prompt\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_FAIL_DELAY" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_fail_delay
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_FAIL_DELAY" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_fail_delay \- request a delay on failure
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 19
-\fBint\ \fBpam_fail_delay\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBunsigned\ int\ \fR\fB\fIusec\fR\fR\fB);\fR
+.BI "int pam_fail_delay(pam_handle_t\ *" "pamh" ", unsigned\ int\ " "usec" ");"
.SH "DESCRIPTION"
.PP
The
.PP
When using this function the application programmer should check if it is available with:
.sp
+.RS 3n
.nf
#ifdef PAM_FAIL_DELAY
....
#endif /* PAM_FAIL_DELAY */
.fi
+.RE
.PP
For applications written with a single thread that are event driven in nature, generating this delay may be undesirable. Instead, the application may want to register the delay in some other way. For example, in a single threaded server that serves multiple authentication requests from a single event loop, the application might want to simply mark a given connection as blocked until an application timer expires. For this reason the delay function can be changed with the
\fIPAM_FAIL_DELAY\fR
\fBpam_set_item \fR(3)
respectively. The value used to set it should be a function pointer of the following prototype:
.sp
+.RS 3n
.nf
void (*delay_fn)(int retval, unsigned usec_delay, void *appdata_ptr);
.fi
+.RE
.sp
The arguments being the
\fIretval\fR
.PP
For example, a login application may require a failure delay of roughly 3 seconds. It will contain the following code:
.sp
+.RS 3n
.nf
pam_fail_delay (pamh, 3000000 /* micro\-seconds */ );
pam_authenticate (pamh, 0);
.fi
+.RE
.PP
if the modules do not request a delay, the failure delay will be between 2.25 and 3.75 seconds.
.PP
However, the modules, invoked in the authentication process, may also request delays:
.sp
+.RS 3n
.nf
module #1: pam_fail_delay (pamh, 2000000);
module #2: pam_fail_delay (pamh, 4000000);
.fi
+.RE
.PP
in this case, it is the largest requested value that is used to compute the actual failed delay: here between 3 and 5 seconds.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_SUCCESS
Delay was successful adjusted.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
A NULL pointer was submitted as PAM handle.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_get_item\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_GET_DATA" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_get_data
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_GET_DATA" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_get_data \- get module internal data
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_modules.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_modules.h>
+.fi
+.ft
.HP 17
-\fBint\ \fBpam_get_data\fR\fR\fB(\fR\fBconst\ pam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fImodule_data_name\fR\fR\fB, \fR\fBconst\ void\ **\fR\fB\fIdata\fR\fR\fB);\fR
+.BI "int pam_get_data(const\ pam_handle_t\ *" "pamh" ", const\ char\ *" "module_data_name" ", const\ void\ **" "data" ");"
.SH "DESCRIPTION"
.PP
This function together with the
\fIconstant\fR
by the module.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_SUCCESS
Data was successful retrieved.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
A NULL pointer was submitted as PAM handle or the function was called by an application.
-.TP
+.TP 3n
PAM_NO_MODULE_DATA
Module data not found or there is an entry, but it has the value NULL.
.SH "SEE ALSO"
.PP
+
\fBpam_end\fR(3),
\fBpam_set_data\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_GET_ITEM" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_get_item
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_GET_ITEM" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_get_item \- getting PAM informations
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_modules.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_modules.h>
+.fi
+.ft
.HP 17
-\fBint\ \fBpam_get_item\fR\fR\fB(\fR\fBconst\ pam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIitem_type\fR\fR\fB, \fR\fBconst\ void\ **\fR\fB\fIitem\fR\fR\fB);\fR
+.BI "int pam_get_item(const\ pam_handle_t\ *" "pamh" ", int\ " "item_type" ", const\ void\ **" "item" ");"
.SH "DESCRIPTION"
.PP
The
contains a pointer to the value of the corresponding item. Note, this is a pointer to the
\fIactual\fR
data and should
-\fInot\fR
+\fBnot\fR
be
\fIfree()\fR'ed or over\-written! The following values are supported for
\fIitem_type\fR:
-.TP
+.TP 3n
PAM_SERVICE
The service name (which identifies that PAM stack that the PAM functions will use to authenticate the program).
-.TP
+.TP 3n
PAM_USER
The username of the entity under whose identity service will be given. That is, following authentication,
\fIPAM_USER\fR
identifies the local entity that gets to use the service. Note, this value can be mapped from something (eg., "anonymous") to something else (eg. "guest119") by any module in the PAM stack. As such an application should consult the value of
\fIPAM_USER\fR
after each call to a PAM function.
-.TP
+.TP 3n
PAM_USER_PROMPT
The string used when prompting for a user's name. The default value for this string is a localized version of "login: ".
-.TP
+.TP 3n
PAM_TTY
The terminal name: prefixed by
\fI/dev/\fR
if it is a device file; for graphical, X\-based, applications the value for this item should be the
\fI$DISPLAY\fR
variable.
-.TP
+.TP 3n
PAM_RUSER
The requesting user name: local name for a locally requesting user or a remote user name for a remote requesting user.
.sp
Generally an application or module will attempt to supply the value that is most strongly authenticated (a local account before a remote one. The level of trust in this value is embodied in the actual authentication stack associated with the application, so it is ultimately at the discretion of the system administrator.
.sp
+
\fIPAM_RUSER@PAM_RHOST\fR
should always identify the requesting user. In some cases,
\fIPAM_RUSER\fR
may be NULL. In such situations, it is unclear who the requesting entity is.
-.TP
+.TP 3n
PAM_RHOST
The requesting hostname (the hostname of the machine from which the
\fIPAM_RUSER\fR
does identify the requesting user. In some applications,
\fIPAM_RHOST\fR
may be NULL. In such situations, it is unclear where the authentication request is originating from.
-.TP
+.TP 3n
PAM_AUTHTOK
The authentication token (often a password). This token should be ignored by all module functions besides
\fBpam_sm_authenticate\fR(3)
and
\fBpam_sm_chauthtok\fR(3). In the former function it is used to pass the most recent authentication token from one stacked module to another. In the latter function the token is used for another purpose. It contains the currently active authentication token.
-.TP
+.TP 3n
PAM_OLDAUTHTOK
The old authentication token. This token should be ignored by all module functions except
\fBpam_sm_chauthtok\fR(3).
-.TP
+.TP 3n
PAM_CONV
The pam_conv structure. See
\fBpam_conv\fR(3).
-.TP
+.TP 3n
PAM_FAIL_DELAY
A function pointer to redirect centrally managed failure delays. See
\fBpam_fail_delay\fR(3).
.PP
Only a service module is privileged to read the authentication tokens, PAM_AUTHTOK and PAM_OLDAUTHTOK.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BAD_ITEM
The application attempted to set an undefined or inaccessible item.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_PERM_DENIED
The value of
\fIitem\fR
was NULL.
-.TP
+.TP 3n
PAM_SUCCESS
Data was successful updated.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
The
\fIpam_handle_t\fR
passed as first argument was invalid.
.SH "SEE ALSO"
.PP
+
\fBpam_set_item\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_GET_USER" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_get_user
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_GET_USER" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_get_user \- get user name
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_modules.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_modules.h>
+.fi
+.ft
.HP 17
-\fBint\ \fBpam_get_user\fR\fR\fB(\fR\fBconst\ pam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ **\fR\fB\fIuser\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIprompt\fR\fR\fB);\fR
+.BI "int pam_get_user(const\ pam_handle_t\ *" "pamh" ", const\ char\ **" "user" ", const\ char\ *" "prompt" ");"
.SH "DESCRIPTION"
.PP
The
would have returned. If this is NULL it obtains the username via the
\fBpam_conv\fR(3)
mechanism, it prompts the user with the first non\-NULL string in the following list:
-.TP 3
+.TP 3n
\(bu
The
\fIprompt\fR
argument passed to the function.
-.TP
+.TP 3n
\(bu
What is returned by pam_get_item (pamh, PAM_USER_PROMPT, ... );
-.TP
+.TP 3n
\(bu
The default prompt: "login: "
+.sp
+.RE
.PP
By whatever means the username is obtained, a pointer to it is returned as the contents of
\fI*user\fR. Note, this memory should
-\fInot\fR
+\fBnot\fR
be
\fIfree()\fR'd or
\fImodified\fR
\fBpam_get_item\fR(3)
functions.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_SUCCESS
User name was successful retrieved.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
A NULL pointer was submitted.
-.TP
+.TP 3n
PAM_CONV_ERR
The conversation method supplied by the application failed to obtain the username.
.SH "SEE ALSO"
.PP
+
\fBpam_end\fR(3),
\fBpam_get_item\fR(3),
\fBpam_set_item\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_GETENV" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_getenv
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_GETENV" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_getenv \- get a PAM environment variable
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 23
-\fBconst\ char\ *\fBpam_getenv\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIname\fR\fR\fB);\fR
+.BI "const char *pam_getenv(pam_handle_t\ *" "pamh" ", const\ char\ *" "name" ");"
.SH "DESCRIPTION"
.PP
The
function returns NULL on failure.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_getenvlist\fR(3),
\fBpam_putenv\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_GETENVLIST" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_getenvlist
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_GETENVLIST" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_getenvlist \- getting the PAM environment
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 22
-\fBchar\ **\fBpam_getenvlist\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB);\fR
+.BI "char **pam_getenvlist(pam_handle_t\ *" "pamh" ");"
.SH "DESCRIPTION"
.PP
The
function returns NULL on failure.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_getenv\fR(3),
\fBpam_putenv\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_INFO" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_info
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_INFO" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_info, pam_vinfo \- display messages to the user
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_ext.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_ext.h>
+.fi
+.ft
.HP 13
-\fBint\ \fBpam_info\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fB\fI...\fR\fR\fB);\fR
+.BI "int pam_info(pam_handle_t\ *" "pamh" ", const\ char\ *" "fmt" ", " "..." ");"
.HP 14
-\fBint\ \fBpam_vinfo\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fBva_list\ \fR\fB\fIargs\fR\fR\fB);\fR
+.BI "int pam_vinfo(pam_handle_t\ *" "pamh" ", const\ char\ *" "fmt" ", va_list\ " "args" ");"
.SH "DESCRIPTION"
.PP
The
\fBstdarg\fR(3)
variable argument list macros.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CONV_ERR
Conversation failure.
-.TP
+.TP 3n
PAM_SUCCESS
Transaction was successful created.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
System error.
.SH "SEE ALSO"
.PP
+
\fBpam\fR(8)
.SH "STANDARDS"
.PP
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_OPEN_SESSION" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_open_session
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_OPEN_SESSION" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_open_session \- start PAM session management
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 21
-\fBint\ \fBpam_open_session\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIflags\fR\fR\fB);\fR
+.BI "int pam_open_session(pam_handle_t\ *" "pamh" ", int\ " "flags" ");"
.SH "DESCRIPTION"
.PP
The
\fBgeteuid\fR(2). of the application should be of sufficient privilege to perform such tasks as creating or mounting the user's home directory for example.
.PP
The flags argument is the binary or of zero or more of the following values:
-.TP
+.TP 3n
PAM_SILENT
Do not emit any messages.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_ABORT
General failure.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_SESSION_ERR
Session failure.
-.TP
+.TP 3n
PAM_SUCCESS
Session was successful created.
.SH "SEE ALSO"
.PP
+
\fBpam_close_session\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_PROMPT" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_prompt
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_PROMPT" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_prompt, pam_vprompt \- interface to conversation function
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_ext.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_ext.h>
+.fi
+.ft
.HP 16
-\fBvoid\ \fBpam_prompt\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIstyle\fR\fR\fB, \fR\fBchar\ **\fR\fB\fIresponse\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fB\fI...\fR\fR\fB);\fR
+.BI "void pam_prompt(pam_handle_t\ *" "pamh" ", int\ " "style" ", char\ **" "response" ", const\ char\ *" "fmt" ", " "..." ");"
.HP 17
-\fBvoid\ \fBpam_vprompt\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIstyle\fR\fR\fB, \fR\fBchar\ **\fR\fB\fIresponse\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fBva_list\ \fR\fB\fIargs\fR\fR\fB);\fR
+.BI "void pam_vprompt(pam_handle_t\ *" "pamh" ", int\ " "style" ", char\ **" "response" ", const\ char\ *" "fmt" ", va_list\ " "args" ");"
.SH "DESCRIPTION"
.PP
The
\fBpam_prompt\fR
function constructs a message from the specified format string and arguments and passes it to
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CONV_ERR
Conversation failure.
-.TP
+.TP 3n
PAM_SUCCESS
Transaction was successful created.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
System error.
.SH "SEE ALSO"
.PP
+
\fBpam\fR(8),
\fBpam_conv\fR(3)
.SH "STANDARDS"
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_PUTENV" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_putenv
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_PUTENV" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_putenv \- set or change PAM environment variable
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 15
-\fBint\ \fBpam_putenv\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIname_value\fR\fR\fB);\fR
+.BI "int pam_putenv(pam_handle_t\ *" "pamh" ", const\ char\ *" "name_value" ");"
.SH "DESCRIPTION"
.PP
The
argument is an authentication handle obtained by a prior call to pam_start(). The
\fIname_value\fR
argument is a single NUL terminated string of one of the following forms:
-.TP
+.TP 3n
NAME=value of variable
In this case the environment variable of the given NAME is set to the indicated value:
\fIvalue of variable\fR. If this variable is already known, it is overwritten. Otherwise it is added to the PAM environment.
-.TP
+.TP 3n
NAME=
This function sets the variable to an empty value. It is listed separately to indicate that this is the correct way to achieve such a setting.
-.TP
+.TP 3n
NAME
Without an '=' the pam_putenv() function will delete the corresponding variable from the PAM environment.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_PERM_DENIED
Argument
\fIname_value\fR
given is a NULL pointer.
-.TP
+.TP 3n
PAM_BAD_ITEM
Variable requested (for deletion) is not currently set.
-.TP
+.TP 3n
PAM_ABORT
The
\fIpamh\fR
handle is corrupt.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_SUCCESS
The environment variable was successfully updated.
.SH "SEE ALSO"
.PP
+
\fBpam_start\fR(3),
\fBpam_getenv\fR(3),
\fBpam_getenvlist\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_SET_DATA" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_set_data
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_SET_DATA" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_set_data \- set module internal data
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_modules.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_modules.h>
+.fi
+.ft
.HP 17
-\fBint\ \fBpam_set_data\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fImodule_data_name\fR\fR\fB, \fR\fBvoid\ *\fR\fB\fIdata\fR\fR\fB, \fR\fBvoid\ \fR\fB\fI(*cleanup)(pam_handle_t\ *pamh,\ void\ *data,\ int\ error_status)\fR\fR\fB);\fR
+.BI "int pam_set_data(pam_handle_t\ *" "pamh" ", const\ char\ *" "module_data_name" ", void\ *" "data" ", void\ " "(*cleanup)(pam_handle_t\ *pamh,\ void\ *data,\ int\ error_status)" ");"
.SH "DESCRIPTION"
.PP
The
The
\fIerror_status\fR
may have been logically OR'd with either of the following two values:
-.TP
+.TP 3n
PAM_DATA_REPLACE
When a data item is being replaced (through a second call to
\fBpam_set_data\fR) this mask is used. Otherwise, the call is assumed to be from
\fBpam_end\fR(3).
-.TP
+.TP 3n
PAM_DATA_SILENT
Which indicates that the process would prefer to perform the
\fBcleanup()\fR
quietly. That is, discourages logging/messages to the user.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_SUCCESS
Data was successful stored.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
A NULL pointer was submitted as PAM handle or the function was called by an application.
.SH "SEE ALSO"
.PP
+
\fBpam_end\fR(3),
\fBpam_get_data\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_SET_ITEM" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_set_item
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_SET_ITEM" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_set_item \- set and update PAM informations
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_modules.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_modules.h>
+.fi
+.ft
.HP 17
-\fBint\ \fBpam_set_item\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIitem_type\fR\fR\fB, \fR\fBconst\ void\ *\fR\fB\fIitem\fR\fR\fB);\fR
+.BI "int pam_set_item(pam_handle_t\ *" "pamh" ", int\ " "item_type" ", const\ void\ *" "item" ");"
.SH "DESCRIPTION"
.PP
The
\fIitem\fR
argument is created. The following
\fIitem_type\fRs are supported:
-.TP
+.TP 3n
PAM_SERVICE
The service name (which identifies that PAM stack that the PAM functions will use to authenticate the program).
-.TP
+.TP 3n
PAM_USER
The username of the entity under whose identity service will be given. That is, following authentication,
\fIPAM_USER\fR
identifies the local entity that gets to use the service. Note, this value can be mapped from something (eg., "anonymous") to something else (eg. "guest119") by any module in the PAM stack. As such an application should consult the value of
\fIPAM_USER\fR
after each call to a PAM function.
-.TP
+.TP 3n
PAM_USER_PROMPT
The string used when prompting for a user's name. The default value for this string is a localized version of "login: ".
-.TP
+.TP 3n
PAM_TTY
The terminal name: prefixed by
\fI/dev/\fR
if it is a device file; for graphical, X\-based, applications the value for this item should be the
\fI$DISPLAY\fR
variable.
-.TP
+.TP 3n
PAM_RUSER
The requesting user name: local name for a locally requesting user or a remote user name for a remote requesting user.
.sp
Generally an application or module will attempt to supply the value that is most strongly authenticated (a local account before a remote one. The level of trust in this value is embodied in the actual authentication stack associated with the application, so it is ultimately at the discretion of the system administrator.
.sp
+
\fIPAM_RUSER@PAM_RHOST\fR
should always identify the requesting user. In some cases,
\fIPAM_RUSER\fR
may be NULL. In such situations, it is unclear who the requesting entity is.
-.TP
+.TP 3n
PAM_RHOST
The requesting hostname (the hostname of the machine from which the
\fIPAM_RUSER\fR
does identify the requesting user. In some applications,
\fIPAM_RHOST\fR
may be NULL. In such situations, it is unclear where the authentication request is originating from.
-.TP
+.TP 3n
PAM_AUTHTOK
The authentication token (often a password). This token should be ignored by all module functions besides
\fBpam_sm_authenticate\fR(3)
and
\fBpam_sm_chauthtok\fR(3). In the former function it is used to pass the most recent authentication token from one stacked module to another. In the latter function the token is used for another purpose. It contains the currently active authentication token.
-.TP
+.TP 3n
PAM_OLDAUTHTOK
The old authentication token. This token should be ignored by all module functions except
\fBpam_sm_chauthtok\fR(3).
-.TP
+.TP 3n
PAM_CONV
The pam_conv structure. See
\fBpam_conv\fR(3).
-.TP
+.TP 3n
PAM_FAIL_DELAY
A function pointer to redirect centrally managed failure delays. See
\fBpam_fail_delay\fR(3).
.PP
Both, PAM_AUTHTOK and PAM_OLDAUTHTOK, will be reseted before returning to the application. Which means an application is not able to access the authentication tokens.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BAD_ITEM
The application attempted to set an undefined or inaccessible item.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_SUCCESS
Data was successful updated.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
The
\fIpam_handle_t\fR
passed as first argument was invalid.
.SH "SEE ALSO"
.PP
+
\fBpam_get_item\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_SETCRED" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_setcred
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_SETCRED" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_setcred \- establish / delete user credentials
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 16
-\fBint\ \fBpam_setcred\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIflags\fR\fR\fB);\fR
+.BI "int pam_setcred(pam_handle_t\ *" "pamh" ", int\ " "flags" ");"
.SH "DESCRIPTION"
.PP
The
Valid
\fIflags\fR, any one of which, may be logically OR'd with
\fBPAM_SILENT\fR, are:
-.TP
+.TP 3n
PAM_ESTABLISH_CRED
Initialize the credentials for the user.
-.TP
+.TP 3n
PAM_DELETE_CRED
Delete the user's credentials.
-.TP
+.TP 3n
PAM_REINITIALIZE_CRED
Fully reinitialize the user's credentials.
-.TP
+.TP 3n
PAM_REFRESH_CRED
Extend the lifetime of the existing credentials.
.SH "RETURN VALUE"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CRED_ERR
Failed to set user credentials.
-.TP
+.TP 3n
PAM_CRED_EXPIRED
User credentials are expired.
-.TP
+.TP 3n
PAM_CRED_UNAVAIL
Failed to retrieve user credentials.
-.TP
+.TP 3n
PAM_SUCCESS
Data was successful stored.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
A NULL pointer was submitted as PAM handle, the function was called by a module or another system error occured.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User is not known to an authentication module.
.SH "SEE ALSO"
.PP
+
\fBpam_authenticate\fR(3),
\fBpam_open_session\fR(3),
\fBpam_strerror\fR(3)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_SM_ACCT_MGMT" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_sm_acct_mgmt
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_SM_ACCT_MGMT" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
pam_sm_acct_mgmt \- PAM service module for account management
.SH "SYNOPSIS"
.sp
+.RS 3n
.nf
#define PAM_SM_ACCOUNT
.fi
-.PP
-\fB#include <security/pam_modules.h>\fR
+.RE
+.sp
+.ft B
+.nf
+#include <security/pam_modules.h>
+.fi
+.ft
.HP 32
-\fBPAM_EXTERN\ int\ \fBpam_sm_acct_mgmt\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIflags\fR\fR\fB, \fR\fBint\ \fR\fB\fIargc\fR\fR\fB, \fR\fBconst\ char\ **\fR\fB\fIargv\fR\fR\fB);\fR
+.BI "PAM_EXTERN int pam_sm_acct_mgmt(pam_handle_t\ *" "pamh" ", int\ " "flags" ", int\ " "argc" ", const\ char\ **" "argv" ");"
.SH "DESCRIPTION"
.PP
The
.PP
Valid flags, which may be logically OR'd with
\fIPAM_SILENT\fR, are:
-.TP
+.TP 3n
PAM_SILENT
Do not emit any messages.
-.TP
+.TP 3n
PAM_DISALLOW_NULL_AUTHTOK
Return
-\fIPAM_AUTH_ERR\fR
+\fBPAM_AUTH_ERR\fR
if the database of authentication tokens for this authentication mechanism has a
\fINULL\fR
entry for the user
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_ACCT_EXPIRED
User account has expired.
-.TP
+.TP 3n
PAM_AUTH_ERR
Authentication failure.
-.TP
+.TP 3n
PAM_NEW_AUTHTOK_REQD
The user's authentication token has expired. Before calling this function again the application will arrange for a new one to be given. This will likely result in a call to
\fBpam_sm_chauthtok()\fR.
-.TP
+.TP 3n
PAM_PERM_DENIED
Permission denied.
-.TP
+.TP 3n
PAM_SUCCESS
The authentication token was successfully updated.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User unknown to password service.
.SH "SEE ALSO"
.PP
+
\fBpam\fR(3),
\fBpam_acct_mgmt\fR(3),
\fBpam_sm_chauthtok\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_START" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_start
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_START" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_start \- initialization of PAM transaction
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 14
-\fBint\ \fBpam_start\fR\fR\fB(\fR\fBconst\ char\ *\fR\fB\fIservice_name\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIuser\fR\fR\fB, \fR\fBconst\ struct\ pam_conv\ *\fR\fB\fIpam_conversation\fR\fR\fB, \fR\fBpam_handle_t\ **\fR\fB\fIpamh\fR\fR\fB);\fR
+.BI "int pam_start(const\ char\ *" "service_name" ", const\ char\ *" "user" ", const\ struct\ pam_conv\ *" "pam_conversation" ", pam_handle_t\ **" "pamh" ");"
.SH "DESCRIPTION"
.PP
The
\fBpam_end\fR
was not called on it before.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_ABORT
General failure.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_SUCCESS
Transaction was successful created.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
System error, for example a NULL pointer was submitted instead of a pointer to data.
.SH "SEE ALSO"
.PP
+
\fBpam_get_data\fR(3),
\fBpam_set_data\fR(3),
\fBpam_end\fR(3),
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_STRERROR" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_strerror
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_STRERROR" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_strerror \- return string describing PAM error code
.SH "SYNOPSIS"
-.PP
-\fB#include <security/pam_appl.h>\fR
+.sp
+.ft B
+.nf
+#include <security/pam_appl.h>
+.fi
+.ft
.HP 25
-\fBconst\ char\ *\fBpam_strerror\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIerrnum\fR\fR\fB);\fR
+.BI "const char *pam_strerror(pam_handle_t\ *" "pamh" ", int\ " "errnum" ");"
.SH "DESCRIPTION"
.PP
The
This function returns always a pointer to a string.
.SH "SEE ALSO"
.PP
+
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_SYSLOG" "3" "05/04/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_syslog
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_SYSLOG" "3" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.SH "NAME"
pam_syslog, pam_vsyslog \- send messages to the system logger
.SH "SYNOPSIS"
-.PP
-\fB#include <syslog.h>\fR
-.PP
-\fB#include <security/pam_ext.h>\fR
+.sp
+.ft B
+.nf
+#include <syslog.h>
+.fi
+.ft
+.sp
+.ft B
+.nf
+#include <security/pam_ext.h>
+.fi
+.ft
.HP 16
-\fBvoid\ \fBpam_syslog\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIpriority\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fB\fI...\fR\fR\fB);\fR
+.BI "void pam_syslog(pam_handle_t\ *" "pamh" ", int\ " "priority" ", const\ char\ *" "fmt" ", " "..." ");"
.HP 17
-\fBvoid\ \fBpam_vsyslog\fR\fR\fB(\fR\fBpam_handle_t\ *\fR\fB\fIpamh\fR\fR\fB, \fR\fBint\ \fR\fB\fIpriority\fR\fR\fB, \fR\fBconst\ char\ *\fR\fB\fIfmt\fR\fR\fB, \fR\fBva_list\ \fR\fB\fIargs\fR\fR\fB);\fR
+.BI "void pam_vsyslog(pam_handle_t\ *" "pamh" ", int\ " "priority" ", const\ char\ *" "fmt" ", va_list\ " "args" ");"
.SH "DESCRIPTION"
.PP
The
variable argument list macros.
.SH "SEE ALSO"
.PP
+
\fBpam\fR(8)
.SH "STANDARDS"
.PP
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "ACCESS.CONF" "5" "02/22/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: access.conf
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "ACCESS.CONF" "5" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.PP
Each line of the login access control table has three fields separated by a ":" character (colon):
.PP
+
\fIpermission\fR:\fIusers\fR:\fIorigins\fR
.PP
The first field, the
\- : ALL : ALL
.SH "SEE ALSO"
.PP
+
\fBpam_access\fR(8),
\fBpam.d\fR(5),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_ACCESS" "8" "02/03/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_access
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_ACCESS" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\fI/etc/security/access.conf\fR
if you don't specify another file.
.SH "OPTIONS"
-.TP
+.TP 3n
\fBaccessfile=\fR\fB\fI/path/to/access.conf\fR\fR
Indicate an alternative
\fIaccess.conf\fR
style configuration file to override the default. This can be useful when different services need different access lists.
-.TP
+.TP 3n
\fBdebug\fR
A lot of debug informations are printed with
\fBsyslog\fR(3).
-.TP
+.TP 3n
\fBfieldsep=\fR\fB\fIseparators\fR\fR
This option modifies the field separator character that pam_access will recognize when parsing the access configuration file. For example:
-\fIfieldsep=|\fR
+\fBfieldsep=|\fR
will cause the default `:' character to be treated as part of a field value and `|' becomes the field separator. Doing this may be useful in conjuction with a system that wants to use pam_access with X based applications, since the
-\fIPAM_TTY\fR
+\fBPAM_TTY\fR
item is likely to be of the form "hostname:0" which includes a `:' character in its value. But you should not need this.
-.TP
+.TP 3n
\fBlistsep=\fR\fB\fIseparators\fR\fR
This option modifies the list separator character that pam_access will recognize when parsing the access configuration file. For example:
-\fIlistsep=,\fR
+\fBlistsep=,\fR
will cause the default ` ' (space) and `\\t' (tab) characters to be treated as part of a list element value and `,' becomes the only list element separator. Doing this may be useful on a system with group information obtained from a Windows domain, where the default built\-in groups "Domain Users", "Domain Admins" contain a space.
.SH "MODULE SERVICES PROVIDED"
.PP
\fBaccount\fR
services are supported.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_SUCCESS
Access was granted.
-.TP
+.TP 3n
PAM_PERM_DENIED
Access was not granted.
-.TP
+.TP 3n
PAM_IGNORE
+
\fBpam_setcred\fR
was called which does nothing.
-.TP
+.TP 3n
PAM_ABORT
Not all relevant data or options could be gotten.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
The user is not known to the system.
.SH "FILES"
-.TP
+.TP 3n
\fI/etc/security/access.conf\fR
Default configuration file
.SH "SEE ALSO"
.PP
+
\fBaccess.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8).
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_CRACKLIB" "8" "02/10/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_cracklib
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_CRACKLIB" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
The strength checks works in the following manner: at first the
\fBCracklib\fR
routine is called to check if the password is part of a dictionary; if this is not the case an additional set of strength checks is done. These checks are:
-.TP
+.TP 3n
Palindrome
Is the new password a palindrome of the old one?
-.TP
+.TP 3n
Case Change Only
Is the new password the the old one with only a change of case?
-.TP
+.TP 3n
Similar
Is the new password too much like the old one? This is primarily controlled by one argument,
\fBdifok\fR
value is ignored. The default value for
\fBdifignore\fR
is 23.
-.TP
+.TP 3n
Simple
Is the new password too small? This is controlled by 5 arguments
\fBminlen\fR,
\fBucredit\fR,
\fBlcredit\fR, and
\fBocredit\fR. See the section on the arguments for the details of how these work and there defaults.
-.TP
+.TP 3n
Rotated
Is the new password a rotated version of the old password?
-.TP
+.TP 3n
Already used
Was the password used in the past? Previously used passwords are to be found in
\fI/etc/security/opasswd\fR.
This module with no arguments will work well for standard unix password encryption. With md5 encryption, passwords can be longer than 8 characters and the default settings for this module can make it hard for the user to choose a satisfactory new password. Notably, the requirement that the new password contain no more than 1/2 of the characters in the old password becomes a non\-trivial constraint. For example, an old password of the form "the quick brown fox jumped over the lazy dogs" would be difficult to change... In addition, the default action is to allow passwords as small as 5 characters in length. For a md5 systems it can be a good idea to increase the required minimum size of a password. One can then allow more credit for different kinds of characters but accept that the new password may share most of these characters with the old password.
.SH "OPTIONS"
.PP
-.TP
+.TP 3n
\fBdebug\fR
This option makes the module write information to
\fBsyslog\fR(3)
indicating the behavior of the module (this option does not write password information to the log file).
-.TP
+.TP 3n
\fBtype=\fR\fB\fIXXX\fR\fR
The default action is for the module to use the following prompts when requesting passwords: "New UNIX password: " and "Retype UNIX password: ". The default word
\fIUNIX\fR
can be replaced with this option.
-.TP
+.TP 3n
\fBretry=\fR\fB\fIN\fR\fR
Prompt user at most
\fIN\fR
times before returning with error. The default is
\fI1\fR
-.TP
+.TP 3n
\fBdifok=\fR\fB\fIN\fR\fR
This argument will change the default of
\fI5\fR
for the number of characters in the new password that must not be present in the old password. In addition, if 1/2 of the characters in the new password are different then the new password will be accepted anyway.
-.TP
+.TP 3n
\fBdifignore=\fR\fB\fIN\fR\fR
How many characters should the password have before difok will be ignored. The default is
\fI23\fR.
-.TP
+.TP 3n
\fBminlen=\fR\fB\fIN\fR\fR
The minimum acceptable size for the new password (plus one if credits are not disabled which is the default). In addition to the number of characters in the new password, credit (of +1 in length) is given for each different kind of character (\fIother\fR,
\fIupper\fR,
\fICracklib\fR
itself, a "way too short" limit of 4 which is hard coded in and a defined limit (6) that will be checked without reference to
\fBminlen\fR. If you want to allow passwords as short as 5 characters you should not use this module.
-.TP
+.TP 3n
\fBdcredit=\fR\fB\fIN\fR\fR
(N >= 0) This is the maximum credit for having digits in the new password. If you have less than or
\fIN\fR
less than 10.
.sp
(N < 0) This is the minimum number of digits that must be met for a new password.
-.TP
+.TP 3n
\fBucredit=\fR\fB\fIN\fR\fR
(N >= 0) This is the maximum credit for having upper case letters in the new password. If you have less than or
\fIN\fR
less than 10.
.sp
(N > 0) This is the minimum number of upper case letters that must be met for a new password.
-.TP
+.TP 3n
\fBlcredit=\fR\fB\fIN\fR\fR
(N >= 0) This is the maximum credit for having lower case letters in the new password. If you have less than or
\fIN\fR
less than 10.
.sp
(N < 0) This is the minimum number of lower case letters that must be met for a new password.
-.TP
+.TP 3n
\fBocredit=\fR\fB\fIN\fR\fR
(N >= 0) This is the maximum credit for having other characters in the new password. If you have less than or
\fIN\fR
less than 10.
.sp
(N < 0) This is the minimum number of other characters that must be met for a new password.
-.TP
+.TP 3n
\fBuse_authtok\fR
This argument is used to
\fIforce\fR
the module to not prompt the user for a new password but use the one provided by the previously stacked
\fIpassword\fR
module.
-.TP
+.TP 3n
\fBdictpath=\fR\fB\fI/path/to/dict\fR\fR
Path to the cracklib dictionaries.
.SH "MODULE SERVICES PROVIDED"
service is supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_SUCCESS
The new password passes all checks.
-.TP
+.TP 3n
PAM_AUTHTOK_ERR
No new password was entered, the username could not be determined or the new password fails the strength checks.
-.TP
+.TP 3n
PAM_AUTHTOK_RECOVERY_ERR
The old password was not supplied by a previous stackked module or got not requested from the user. The first error can happen if
\fBuse_authtok\fR
is specified.
-.TP
+.TP 3n
PAM_SERVICE_ERR
A internal error occured.
.SH "EXAMPLES"
For an example of the use of this module, we show how it may be stacked with the password component of
\fBpam_unix\fR(8)
.sp
+.RS 3n
.nf
#
# These lines stack two password type modules. In this example the
passwd password required pam_unix.so use_authtok
.fi
+.RE
.sp
.PP
Another example (in the
\fI/etc/pam.d/passwd\fR
format) is for the case that you want to use md5 password encryption:
.sp
+.RS 3n
.nf
#%PAM\-1.0
#
password required pam_unix.so use_authtok nullok md5
.fi
+.RE
.sp
.PP
And here is another example in case you don't want to use credits:
.sp
+.RS 3n
.nf
#%PAM\-1.0
#
password required pam_unix.so use_authtok nullok md5
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_DENY" "8" "02/03/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_deny
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_DENY" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\fBsession\fR) are supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_AUTH_ERR
This is returned by the account and auth services.
-.TP
+.TP 3n
PAM_CRED_ERR
This is returned by the setcred function.
-.TP
+.TP 3n
PAM_AUTHTOK_ERR
This is returned by the password service.
-.TP
+.TP 3n
PAM_SESSION_ERR
This is returned by the session service.
.SH "EXAMPLES"
.PP
+
+.sp
+.RS 3n
.nf
#%PAM\-1.0
#
other session required pam_deny.so
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_ECHO" "8" "02/13/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_echo
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_ECHO" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
PAM module is for printing text messages to inform user about special things. Sequences starting with the
\fI%\fR
character are interpreted in the following way:
-.TP
+.TP 3n
\fI%H\fR
The name of the remote host (PAM_RHOST).
-.TP
-\fI%h\fR
+.TP 3n
+\fB%h\fR
The name of the local host.
-.TP
+.TP 3n
\fI%s\fR
The service name (PAM_SERVICE).
-.TP
+.TP 3n
\fI%t\fR
The name of the controlling terminal (PAM_TTY).
-.TP
+.TP 3n
\fI%U\fR
The remote user name (PAM_RUSER).
-.TP
+.TP 3n
\fI%u\fR
The local user name (PAM_USER).
.PP
\fI%\fR
character.
.SH "OPTIONS"
-.TP
+.TP 3n
\fBfile=\fR\fB\fI/path/message\fR\fR
The content of the file
\fI/path/message\fR
.PP
All services are supported.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_SUCCESS
Message was successful printed.
-.TP
+.TP 3n
PAM_IGNORE
PAM_SILENT flag was given or message file does not exist, no message printed.
.SH "EXAMPLES"
.PP
For an example of the use of this module, we show how it may be used to print informations about good passwords:
.sp
+.RS 3n
.nf
password optional pam_echo.so file=/usr/share/doc/good\-password.txt
password required pam_unix.so
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(8),
\fBpam.d\fR(8),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_ENV" "8" "02/17/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_env
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_ENV" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\fIreadenv\fR
flag to 1 or 0 respectively.
.SH "OPTIONS"
-.TP
+.TP 3n
\fBconffile=\fR\fB\fI/path/to/pam_env.conf\fR\fR
Indicate an alternative
\fIpam_env.conf\fR
style configuration file to override the default. This can be useful when different services need different environments.
-.TP
+.TP 3n
\fBdebug\fR
A lot of debug informations are printed with
\fBsyslog\fR(3).
-.TP
+.TP 3n
\fBenvfile=\fR\fB\fI/path/to/environment\fR\fR
Indicate an alternative
\fIenvironment\fR
file to override the default. This can be useful when different services need different environments.
-.TP
+.TP 3n
\fBreadenv=\fR\fB\fI0|1\fR\fR
Turns on or off the reading of the file specified by envfile (0 is off, 1 is on). By default this option is on.
.SH "MODULE SERVICES PROVIDED"
\fBsession\fR
services are supported.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_ABORT
Not all relevant data or options could be gotten.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_IGNORE
No pam_env.conf and environment file was found.
-.TP
+.TP 3n
PAM_SUCCESS
Environment variables were set.
.SH "FILES"
-.TP
+.TP 3n
\fI/etc/security/pam_env.conf\fR
Default configuration file
-.TP
+.TP 3n
\fI/etc/environment\fR
Default environment file
.SH "SEE ALSO"
.PP
+
\fBpam_env.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8).
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_ENV.CONF" "5" "02/17/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_env.conf
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_ENV.CONF" "5" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.PP
Each line starts with the variable name, there are then two possible options for each variable DEFAULT and OVERRIDE. DEFAULT allows and administrator to set the value of the variable to some default value, if none is supplied then the empty string is assumed. The OVERRIDE option tells pam_env that it should enter in its value (overriding the default value) if there is one to use. OVERRIDE is not used, "" is assumed and no override will be done.
.PP
+
\fIVARIABLE\fR
[\fIDEFAULT=[value]\fR] [\fIOVERRIDE=[value]\fR]
.PP
.PP
Set the REMOTEHOST variable for any hosts that are remote, default to "localhost" rather than not being set at all
.sp
+.RS 3n
.nf
REMOTEHOST DEFAULT=localhost OVERRIDE=@{PAM_RHOST}
.fi
+.RE
.PP
Set the DISPLAY variable if it seems reasonable
.sp
+.RS 3n
.nf
DISPLAY DEFAULT=${REMOTEHOST}:0.0 OVERRIDE=${DISPLAY}
.fi
+.RE
.PP
Now some simple variables
.sp
+.RS 3n
.nf
PAGER DEFAULT=less
MANPAGER DEFAULT=less
:/usr/bin:/usr/local/bin/X11:/usr/bin/X11
.fi
+.RE
.PP
Silly examples of escaped variables, just to show how they work.
.sp
+.RS 3n
.nf
DOLLAR DEFAULT=\\$
DOLLARDOLLAR DEFAULT= OVERRIDE=\\$${DOLLAR}
ATSIGN DEFAULT="" OVERRIDE=\\@
.fi
+.RE
.SH "SEE ALSO"
.PP
+
\fBpam_env\fR(8),
\fBpam.d\fR(5),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_EXEC" "8" "02/03/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_exec
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_EXEC" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
pam_exec is a PAM module that can be used to run an external command.
.SH "OPTIONS"
.PP
-.TP
+.TP 3n
\fBdebug\fR
Print debug information.
-.TP
+.TP 3n
\fBlog=\fR\fB\fIfile\fR\fR
The output of the command is appended to
\fIfile\fR
-.TP
+.TP 3n
\fBseteuid\fR
Per default pam_exec.so will execute the external command with the real user ID of the calling process. Specifying this option means the command is run with the effective user ID.
.SH "MODULE SERVICES PROVIDED"
are supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_SUCCESS
The external command runs successfull.
-.TP
+.TP 3n
PAM_SERVICE_ERR
No argument or a wrong number of arguments were given.
-.TP
+.TP 3n
PAM_SYSTEM_ERR
A system error occured or the command to execute failed.
-.TP
+.TP 3n
PAM_IGNORE
+
\fBpam_setcred\fR
was called, which does not execute the command.
.SH "EXAMPLES"
\fI/etc/pam.d/passwd\fR
to rebuild the NIS database after each local password change:
.sp
+.RS 3n
.nf
passwd optional pam_exec.so seteuid make \-C /var/yp
.fi
+.RE
.sp
This will execute the command
.sp
+.RS 3n
.nf
make \-C /var/yp
.fi
+.RE
.sp
with effective user ID.
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_FILTER" "8" "05/30/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_filter
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_FILTER" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
that of the user. For this reason it cannot usually be killed by the user without closing their session.
.SH "OPTIONS"
.PP
-.TP
+.TP 3n
\fBdebug\fR
Print debug information.
-.TP
+.TP 3n
\fBnew_term\fR
The default action of the filter is to set the
\fIPAM_TTY\fR
item to indicate the terminal that the user is using to connect to the application. This argument indicates that the filter should set
\fIPAM_TTY\fR
to the filtered pseudo\-terminal.
-.TP
+.TP 3n
\fBnon_term\fR
don't try to set the
\fIPAM_TTY\fR
item.
-.TP
+.TP 3n
\fBrunX\fR
In order that the module can invoke a filter it should know when to invoke it. This argument is required to tell the filter when to do this.
.sp
is used to indicate that the filter is run on the second occasion (the
\fIPAM_UPDATE_AUTHTOK\fR
phase).
-.TP
+.TP 3n
\fBfilter\fR
The full pathname of the filter to be run and any command line arguments that the filter might expect.
.SH "MODULE SERVICES PROVIDED"
are supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_SUCCESS
The new filter was set successfull.
-.TP
+.TP 3n
PAM_ABORT
Critical error, immediate abort.
.SH "EXAMPLES"
\fI/etc/pam.d/login\fR
to see how to configure login to transpose upper and lower case letters once the user has logged in:
.sp
+.RS 3n
.nf
session required pam_filter.so run1 /lib/security/pam_filter/upperLOWER
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_FTP" "8" "06/01/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_ftp
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_FTP" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
This module is not safe and easily spoofable.
.SH "OPTIONS"
.PP
-.TP
+.TP 3n
\fBdebug\fR
Print debug information.
-.TP
+.TP 3n
\fBignore\fR
Pay no attention to the email address of the user (if supplied).
-.TP
+.TP 3n
\fBftp=\fR\fB\fIXXX,YYY,...\fR\fR
Instead of
\fIftp\fR
service is supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_SUCCESS
The authentication was successfull.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User not known.
.SH "EXAMPLES"
\fI/etc/pam.d/ftpd\fR
to handle ftp style anonymous login:
.sp
+.RS 3n
.nf
#
# ftpd; add ftp\-specifics. These lines enable anonymous ftp over
onerr=succeed item=user sense=deny file=/etc/ftpusers
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "GROUP.CONF" "5" "06/01/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: group.conf
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "GROUP.CONF" "5" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.PP
The syntax of the lines is as follows:
.PP
+
\fIservices\fR;\fIttys\fR;\fIusers\fR;\fItimes\fR;\fIgroups\fR
.PP
The first field, the
xsh; tty* ;*;Al0900\-1800;floppy
.SH "SEE ALSO"
.PP
+
\fBpam_group\fR(8),
\fBpam.d\fR(5),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_GROUP" "8" "06/01/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_group
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_GROUP" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
\fBauth\fR
service is supported.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_SUCCESS
group membership was granted.
-.TP
+.TP 3n
PAM_ABORT
Not all relevant data could be gotten.
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CRED_ERR
Group membership was not granted.
-.TP
+.TP 3n
PAM_IGNORE
+
\fBpam_sm_authenticate\fR
was called which does nothing.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
The user is not known to the system.
.SH "FILES"
-.TP
+.TP 3n
\fI/etc/security/group.conf\fR
Default configuration file
.SH "SEE ALSO"
.PP
+
\fBgroup.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8).
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_ISSUE" "8" "06/01/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_issue
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_ISSUE" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
pam_issue is a PAM module to prepend an issue file to the username prompt. It also by default parses escape codes in the issue file similar to some common getty's (using \\x format).
.PP
Recognized escapes:
-.TP
-\fI\\d\fR
+.TP 3n
+\fB\\d\fR
current day
-.TP
-\fI\\l\fR
+.TP 3n
+\fB\\l\fR
name of this tty
-.TP
-\fI\\m\fR
+.TP 3n
+\fB\\m\fR
machine architecture (uname \-m)
-.TP
-\fI\\n\fR
+.TP 3n
+\fB\n\fR
machine's network node hostname (uname \-n)
-.TP
-\fI\\o\fR
+.TP 3n
+\fB\\o\fR
domain name of this system
-.TP
-\fI\\r\fR
+.TP 3n
+\fB\\r\fR
release number of operating system (uname \-r)
-.TP
-\fI\\t\fR
+.TP 3n
+\fB\\t\fR
current time
-.TP
-\fI\\s\fR
+.TP 3n
+\fB\\s\fR
operating system name (uname \-s)
-.TP
-\fI\\u\fR
+.TP 3n
+\fB\\u\fR
number of users currently logged in
-.TP
-\fI\\U\fR
+.TP 3n
+\fB\\U\fR
same as \\u except it is suffixed with "user" or "users" (eg. "1 user" or "10 users")
-.TP
-\fI\\v\fR
+.TP 3n
+\fB\\v\fR
operating system version and build date (uname \-v)
.SH "OPTIONS"
.PP
-.TP
+.TP 3n
\fBnoesc\fR
Turns off escape code parsing.
-.TP
+.TP 3n
\fBissue=\fR\fB\fIissue\-file\-name\fR\fR
The file to output if not using the default.
.SH "MODULE SERVICES PROVIDED"
service is supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_IGNORE
The prompt was already changed.
-.TP
+.TP 3n
PAM_SERVICE_ERR
A service module error occured.
-.TP
+.TP 3n
PAM_SUCCESS
The new prompt was set successfull.
.SH "EXAMPLES"
\fI/etc/pam.d/login\fR
to set the user specific issue at login:
.sp
+.RS 3n
.nf
auth optional pam_issue.so issue=/etc/issue
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_LASTLOG" "8" "06/01/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_lastlog
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_LASTLOG" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.PP
Some applications may perform this function themselves. In such cases, this module is not necessary.
.SH "OPTIONS"
-.TP
+.TP 3n
\fBdebug\fR
Print debug information.
-.TP
+.TP 3n
\fBsilent\fR
Don't inform the user about any previous login, just upate the
\fI/var/log/lastlog\fR
file.
-.TP
+.TP 3n
\fBnever\fR
If the
\fI/var/log/lastlog\fR
file does not contain any old entries for the user, indicate that the user has never previously logged in with a welcome message.
-.TP
+.TP 3n
\fBnodate\fR
Don't display the date of the last login.
-.TP
+.TP 3n
\fBnoterm\fR
Don't display the terminal name on which the last login was attempted.
-.TP
+.TP 3n
\fBnohost\fR
Don't indicate from which host the last login was attempted.
-.TP
+.TP 3n
\fBnowtmp\fR
Don't update the wtmp entry.
.SH "MODULE SERVICES PROVIDED"
service is supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_SUCCESS
Everything was successfull.
-.TP
+.TP 3n
PAM_SERVICE_ERR
Internal service module error.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User not known.
.SH "EXAMPLES"
\fI/etc/pam.d/login\fR
to display the last login time of an user:
.sp
+.RS 3n
.nf
session required pam_lastlog.so nowtmp
.fi
+.RE
.SH "FILES"
-.TP
+.TP 3n
\fI/var/log/lastlog\fR
Lastlog logging file
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
CLEANFILES = *~
-EXTRA_DIST = README tst-pam_listfile
+EXTRA_DIST = README $(MANS) $(XMLS) tst-pam_listfile
+
+man_MANS = pam_listfile.8
+XMLS = README.xml pam_listfile.8.xml
TESTS = tst-pam_listfile
endif
securelib_LTLIBRARIES = pam_listfile.la
+
+if ENABLE_REGENERATE_MAN
+noinst_DATA = README
+README: pam_listfile.8.xml
+-include $(top_srcdir)/Make.xml.rules
+endif
+
-SUMMARY:
- pam_listfile:
- Checks a specified item against a list in a file.
- Options:
- * item=[tty|user|rhost|ruser|group|shell]
- * sense=[allow|deny] (action to take if found in file,
- if the item is NOT found in the file, then
- the opposite action is requested)
- * file=/the/file/to/get/the/list/from
- * onerr=[succeed|fail] (if something weird happens
- such as unable to open the file, what to do?)
- * apply=[user|@group]
- restrict the user class for which the restriction
- apply. Note that with item=[user|ruser|group] this
- does not make sense, but for item=[tty|rhost|shell]
- it have a meaning. (Cristian Gafton)
-
- Also checks to make sure that the list file is a plain
- file and not world writable.
-
- - Elliot Lee <sopwith@redhat.com>, Red Hat Software.
- v0.9 August 16, 1996.
-
-BUGS:
- Bugs?
+pam_listfile — deny or allow services based on an arbitrary file.
+
+━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
+
+DESCRIPTION
+
+pam_listfile is a PAM module which provides a way to deny or allow services
+based on an arbitrary file.
+
+The module gets the item of the type specified -- user specifies the username,
+PAM_USER; tty specifies the name of the terminal over which the request has
+been made, PAM_TTY; rhost specifies the name of the remote host (if any) from
+which the request was made, PAM_RHOST; and ruser specifies the name of the
+remote user (if available) who made the request, PAM_RUSER -- and looks for an
+instance of that item in the file=filename. filename contains one line per item
+listed. If the item is found, then if sense=allow, PAM_SUCCESS is returned,
+causing the authorization request to succeed; else if sense=deny, PAM_AUTH_ERR
+is returned, causing the authorization request to fail.
+
+If an error is encountered (for instance, if filename does not exist, or a
+poorly-constructed argument is encountered), then if onerr=succeed, PAM_SUCCESS
+is returned, otherwise if onerr=fail, PAM_AUTH_ERR or PAM_SERVICE_ERR (as
+appropriate) will be returned.
+
+An additional argument, apply=, can be used to restrict the application of the
+above to a specific user (apply=username) or a given group (apply=@groupname).
+This added restriction is only meaningful when used with the tty, rhost and
+shell items.
+
+Besides this last one, all arguments should be specified; do not count on any
+default behavior.
+
+No credentials are awarded by this module.
+
+OPTIONS
+
+item=[tty|user|rhost|ruser|group|shell]
+
+ What is listed in the file and should be checked for.
+
+sense=[allow|deny]
+
+ Action to take if found in file, if the item is NOT found in the file, then
+ the opposite action is requested.
+
+file=/path/filename
+
+ File containing one item per line. The file needs to be a plain file and
+ not world writeable.
+
+onerr=[succeed|fail]
+
+ What to do if something weird happens like being unable to open the file.
+
+apply=[user|@group]
+
+ Restrict the user class for which the restriction apply. Note that with
+ item=[user|ruser|group] this oes not make sense, but for item=[tty|rhost|
+ shell] it have a meaning.
+
+EXAMPLES
+
+Classic 'ftpusers' authentication can be implemented with this entry in /etc/
+pam.d/ftpd:
+
+#
+# deny ftp-access to users listed in the /etc/ftpusers file
+#
+auth required pam_listfile.so \
+ onerr=succeed item=user sense=deny file=/etc/ftpusers
+
+
+Note, users listed in /etc/ftpusers file are (counterintuitively) not allowed
+access to the ftp service.
+
+To allow login access only for certain users, you can use a /etc/pam.d/login
+entry like this:
+
+#
+# permit login to users listed in /etc/loginusers
+#
+auth required pam_listfile.so \
+ onerr=fail item=user sense=allow file=/etc/loginusers
+
+
+For this example to work, all users who are allowed to use the login service
+should be listed in the file /etc/loginusers. Unless you are explicitly trying
+to lock out root, make sure that when you do this, you leave a way for root to
+log in, either by listing root in /etc/loginusers, or by listing a user who is
+able to su to the root account.
+
+AUTHOR
+
+pam_listfile was written by Michael K. Johnson <johnsonm@redhat.com> and Elliot
+Lee <sopwith@cuc.edu>.
+
--- /dev/null
+<?xml version="1.0" encoding='UTF-8'?>
+<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN"
+"http://www.docbook.org/xml/4.3/docbookx.dtd"
+[
+<!--
+<!ENTITY pamaccess SYSTEM "pam_listfile.8.xml">
+-->
+]>
+
+<article>
+
+ <articleinfo>
+
+ <title>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="pam_listfile.8.xml" xpointer='xpointer(//refnamediv[@id = "pam_listfile-name"]/*)'/>
+ </title>
+
+ </articleinfo>
+
+ <section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="pam_listfile.8.xml" xpointer='xpointer(//refsect1[@id = "pam_listfile-description"]/*)'/>
+ </section>
+
+ <section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="pam_listfile.8.xml" xpointer='xpointer(//refsect1[@id = "pam_listfile-options"]/*)'/>
+ </section>
+
+ <section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="pam_listfile.8.xml" xpointer='xpointer(//refsect1[@id = "pam_listfile-examples"]/*)'/>
+ </section>
+
+ <section>
+ <xi:include xmlns:xi="http://www.w3.org/2001/XInclude"
+ href="pam_listfile.8.xml" xpointer='xpointer(//refsect1[@id = "pam_listfile-author"]/*)'/>
+ </section>
+
+</article>
--- /dev/null
+.\" Title: pam_listfile
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_LISTFILE" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" disable hyphenation
+.nh
+.\" disable justification (adjust text to left margin only)
+.ad l
+.SH "NAME"
+pam_listfile \- deny or allow services based on an arbitrary file.
+.SH "SYNOPSIS"
+.HP 16
+\fBpam_listfile.so\fR item=[tty|user|rhost|ruser|group|shell] sense=[allow|deny] file=\fI/path/filename\fR onerr=[succeed|fail] [apply=[\fIuser\fR|\fI@group\fR]]
+.SH "DESCRIPTION"
+.PP
+pam_listfile is a PAM module which provides a way to deny or allow services based on an arbitrary file.
+.PP
+The module gets the
+\fBitem\fR
+of the type specified \-\-
+\fIuser\fR
+specifies the username,
+\fIPAM_USER\fR; tty specifies the name of the terminal over which the request has been made,
+\fIPAM_TTY\fR; rhost specifies the name of the remote host (if any) from which the request was made,
+\fIPAM_RHOST\fR; and ruser specifies the name of the remote user (if available) who made the request,
+\fIPAM_RUSER\fR
+\-\- and looks for an instance of that item in the
+\fBfile=\fR\fB\fIfilename\fR\fR.
+\fIfilename\fR
+contains one line per item listed. If the item is found, then if
+\fBsense=\fR\fB\fIallow\fR\fR,
+\fIPAM_SUCCESS\fR
+is returned, causing the authorization request to succeed; else if
+\fBsense=\fR\fB\fIdeny\fR\fR,
+\fIPAM_AUTH_ERR\fR
+is returned, causing the authorization request to fail.
+.PP
+If an error is encountered (for instance, if
+\fIfilename\fR
+does not exist, or a poorly\-constructed argument is encountered), then if
+\fIonerr=succeed\fR,
+\fIPAM_SUCCESS\fR
+is returned, otherwise if
+\fIonerr=fail\fR,
+\fIPAM_AUTH_ERR\fR
+or
+\fIPAM_SERVICE_ERR\fR
+(as appropriate) will be returned.
+.PP
+An additional argument,
+\fBapply=\fR, can be used to restrict the application of the above to a specific user (\fBapply=\fR\fB\fIusername\fR\fR) or a given group (\fBapply=\fR\fB\fI@groupname\fR\fR). This added restriction is only meaningful when used with the
+\fItty\fR,
+\fIrhost\fR
+and
+\fIshell\fR
+items.
+.PP
+Besides this last one, all arguments should be specified; do not count on any default behavior.
+.PP
+No credentials are awarded by this module.
+.SH "OPTIONS"
+.PP
+.TP 3n
+\fBitem=[tty|user|rhost|ruser|group|shell]\fR
+What is listed in the file and should be checked for.
+.TP 3n
+\fBsense=[allow|deny]\fR
+Action to take if found in file, if the item is NOT found in the file, then the opposite action is requested.
+.TP 3n
+\fBfile=\fR\fB\fI/path/filename\fR\fR
+File containing one item per line. The file needs to be a plain file and not world writeable.
+.TP 3n
+\fBonerr=[succeed|fail]\fR
+What to do if something weird happens like being unable to open the file.
+.TP 3n
+\fBapply=[\fR\fB\fIuser\fR\fR\fB|\fR\fB\fI@group\fR\fR\fB]\fR
+Restrict the user class for which the restriction apply. Note that with
+\fBitem=[user|ruser|group]\fR
+this oes not make sense, but for
+\fBitem=[tty|rhost|shell]\fR
+it have a meaning.
+.SH "MODULE SERVICES PROVIDED"
+.PP
+The services
+\fBauth\fR,
+\fBaccount\fR,
+\fBpassword\fR
+and
+\fBsession\fR
+are supported.
+.SH "RETURN VALUES"
+.PP
+.TP 3n
+PAM_AUTH_ERR
+Authentication failure.
+.TP 3n
+PAM_BUF_ERR
+Memory buffer error.
+.TP 3n
+PAM_IGNORE
+The rule does not apply to the
+\fBapply\fR
+option.
+.TP 3n
+PAM_SERVICE_ERR
+Error in service module.
+.TP 3n
+PAM_SUCCESS
+Success.
+.SH "EXAMPLES"
+.PP
+Classic 'ftpusers' authentication can be implemented with this entry in
+\fI/etc/pam.d/ftpd\fR:
+.sp
+.RS 3n
+.nf
+#
+# deny ftp\-access to users listed in the /etc/ftpusers file
+#
+auth required pam_listfile.so \\
+ onerr=succeed item=user sense=deny file=/etc/ftpusers
+
+.fi
+.RE
+.sp
+Note, users listed in
+\fI/etc/ftpusers\fR
+file are (counterintuitively)
+\fInot\fR
+allowed access to the ftp service.
+.PP
+To allow login access only for certain users, you can use a
+\fI/etc/pam.d/login\fR
+entry like this:
+.sp
+.RS 3n
+.nf
+#
+# permit login to users listed in /etc/loginusers
+#
+auth required pam_listfile.so \\
+ onerr=fail item=user sense=allow file=/etc/loginusers
+
+.fi
+.RE
+.sp
+For this example to work, all users who are allowed to use the login service should be listed in the file
+\fI/etc/loginusers\fR. Unless you are explicitly trying to lock out root, make sure that when you do this, you leave a way for root to log in, either by listing root in
+\fI/etc/loginusers\fR, or by listing a user who is able to
+\fIsu\fR
+to the root account.
+.SH "SEE ALSO"
+.PP
+
+\fBpam.conf\fR(5),
+\fBpam.d\fR(8),
+\fBpam\fR(8)
+.SH "AUTHOR"
+.PP
+pam_listfile was written by Michael K. Johnson <johnsonm@redhat.com> and Elliot Lee <sopwith@cuc.edu>.
--- /dev/null
+<?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_listfile">
+
+ <refmeta>
+ <refentrytitle>pam_listfile</refentrytitle>
+ <manvolnum>8</manvolnum>
+ <refmiscinfo class="sectdesc">Linux-PAM Manual</refmiscinfo>
+ </refmeta>
+
+ <refnamediv id="pam_listfile-name">
+ <refname>pam_listfile</refname>
+ <refpurpose>deny or allow services based on an arbitrary file.</refpurpose>
+ </refnamediv>
+
+ <refsynopsisdiv>
+ <cmdsynopsis id="pam_listfile-cmdsynopsis">
+ <command>pam_listfile.so</command>
+ <arg choice="plain">
+ item=[tty|user|rhost|ruser|group|shell]
+ </arg>
+ <arg choice="plain">
+ sense=[allow|deny]
+ </arg>
+ <arg choice="plain">
+ file=<replaceable>/path/filename</replaceable>
+ </arg>
+ <arg choice="plain">
+ onerr=[succeed|fail]
+ </arg>
+ <arg choice="opt">
+ apply=[<replaceable>user</replaceable>|<replaceable>@group</replaceable>]
+ </arg>
+ </cmdsynopsis>
+ </refsynopsisdiv>
+
+ <refsect1 id="pam_listfile-description">
+
+ <title>DESCRIPTION</title>
+
+ <para>
+ pam_listfile is a PAM module which provides a way to deny or
+ allow services based on an arbitrary file.
+ </para>
+ <para>
+ The module gets the <option>item</option> of the type specified --
+ <emphasis>user</emphasis> specifies the username,
+ <emphasis>PAM_USER</emphasis>; tty specifies the name of the terminal
+ over which the request has been made, <emphasis>PAM_TTY</emphasis>;
+ rhost specifies the name of the remote host (if any) from which the
+ request was made, <emphasis>PAM_RHOST</emphasis>; and ruser specifies
+ the name of the remote user (if available) who made the request,
+ <emphasis>PAM_RUSER</emphasis> -- and looks for an instance of that
+ item in the <option>file=<replaceable>filename</replaceable></option>.
+ <filename>filename</filename> contains one line per item listed. If
+ the item is found, then if
+ <option>sense=<replaceable>allow</replaceable></option>,
+ <emphasis>PAM_SUCCESS</emphasis> is returned, causing the authorization
+ request to succeed; else if
+ <option>sense=<replaceable>deny</replaceable></option>,
+ <emphasis>PAM_AUTH_ERR</emphasis> is returned, causing the authorization
+ request to fail.
+ </para>
+ <para>
+ If an error is encountered (for instance, if
+ <filename>filename</filename> does not exist, or a poorly-constructed
+ argument is encountered), then if <emphasis>onerr=succeed</emphasis>,
+ <emphasis>PAM_SUCCESS</emphasis> is returned, otherwise if
+ <emphasis>onerr=fail</emphasis>, <emphasis>PAM_AUTH_ERR</emphasis> or
+ <emphasis>PAM_SERVICE_ERR</emphasis> (as appropriate) will be returned.
+ </para>
+ <para>
+ An additional argument, <option>apply=</option>, can be used
+ to restrict the application of the above to a specific user
+ (<option>apply=<replaceable>username</replaceable></option>)
+ or a given group
+ (<option>apply=<replaceable>@groupname</replaceable></option>).
+ This added restriction is only meaningful when used with the
+ <emphasis>tty</emphasis>, <emphasis>rhost</emphasis> and
+ <emphasis>shell</emphasis> items.
+ </para>
+ <para>
+ Besides this last one, all arguments should be specified; do not
+ count on any default behavior.
+ </para>
+ <para>
+ No credentials are awarded by this module.
+ </para>
+ </refsect1>
+
+ <refsect1 id="pam_listfile-options">
+
+ <title>OPTIONS</title>
+ <para>
+ <variablelist>
+
+ <varlistentry>
+ <term>
+ <option>item=[tty|user|rhost|ruser|group|shell]</option>
+ </term>
+ <listitem>
+ <para>
+ What is listed in the file and should be checked for.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>sense=[allow|deny]</option>
+ </term>
+ <listitem>
+ <para>
+ Action to take if found in file, if the item is NOT found in
+ the file, then the opposite action is requested.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>file=<replaceable>/path/filename</replaceable></option>
+ </term>
+ <listitem>
+ <para>
+ File containing one item per line. The file needs to be a plain
+ file and not world writeable.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>onerr=[succeed|fail]</option>
+ </term>
+ <listitem>
+ <para>
+ What to do if something weird happens like being unable to open
+ the file.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>
+ <option>apply=[<replaceable>user</replaceable>|<replaceable>@group</replaceable>]</option>
+ </term>
+ <listitem>
+ <para>
+ Restrict the user class for which the restriction apply. Note that
+ with <option>item=[user|ruser|group]</option> this oes not make sense,
+ but for <option>item=[tty|rhost|shell]</option> it have a meaning.
+ </para>
+ </listitem>
+ </varlistentry>
+ </variablelist>
+
+ </para>
+ </refsect1>
+
+ <refsect1 id="pam_listfile-services">
+ <title>MODULE SERVICES PROVIDED</title>
+ <para>
+ The services <option>auth</option>, <option>account</option>,
+ <option>password</option> and <option>session</option> are supported.
+ </para>
+ </refsect1>
+
+ <refsect1 id='pam_listfile-return_values'>
+ <title>RETURN VALUES</title>
+ <para>
+ <variablelist>
+
+ <varlistentry>
+ <term>PAM_AUTH_ERR</term>
+ <listitem>
+ <para>Authentication failure.</para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>PAM_BUF_ERR</term>
+ <listitem>
+ <para>
+ Memory buffer error.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>PAM_IGNORE</term>
+ <listitem>
+ <para>
+ The rule does not apply to the <option>apply</option> option.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>PAM_SERVICE_ERR</term>
+ <listitem>
+ <para>
+ Error in service module.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ <varlistentry>
+ <term>PAM_SUCCESS</term>
+ <listitem>
+ <para>
+ Success.
+ </para>
+ </listitem>
+ </varlistentry>
+
+ </variablelist>
+ </para>
+ </refsect1>
+
+ <refsect1 id='pam_listfile-examples'>
+ <title>EXAMPLES</title>
+ <para>
+ Classic 'ftpusers' authentication can be implemented with this entry
+ in <filename>/etc/pam.d/ftpd</filename>:
+ <programlisting>
+#
+# deny ftp-access to users listed in the /etc/ftpusers file
+#
+auth required pam_listfile.so \
+ onerr=succeed item=user sense=deny file=/etc/ftpusers
+ </programlisting>
+ Note, users listed in <filename>/etc/ftpusers</filename> file are
+ (counterintuitively) <emphasis>not</emphasis> allowed access to
+ the ftp service.
+ </para>
+ <para>
+ To allow login access only for certain users, you can use a
+ <filename>/etc/pam.d/login</filename> entry like this:
+ <programlisting>
+#
+# permit login to users listed in /etc/loginusers
+#
+auth required pam_listfile.so \
+ onerr=fail item=user sense=allow file=/etc/loginusers
+ </programlisting>
+ For this example to work, all users who are allowed to use the
+ login service should be listed in the file
+ <filename>/etc/loginusers</filename>. Unless you are explicitly
+ trying to lock out root, make sure that when you do this, you leave
+ a way for root to log in, either by listing root in
+ <filename>/etc/loginusers</filename>, or by listing a user who is
+ able to <emphasis>su</emphasis> to the root account.
+ </para>
+ </refsect1>
+
+ <refsect1 id='pam_listfile-see_also'>
+ <title>SEE ALSO</title>
+ <para>
+ <citerefentry>
+ <refentrytitle>pam.conf</refentrytitle><manvolnum>5</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>pam.d</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>,
+ <citerefentry>
+ <refentrytitle>pam</refentrytitle><manvolnum>8</manvolnum>
+ </citerefentry>
+ </para>
+ </refsect1>
+
+ <refsect1 id='pam_listfile-author'>
+ <title>AUTHOR</title>
+ <para>
+ pam_listfile was written by Michael K. Johnson <johnsonm@redhat.com>
+ and Elliot Lee <sopwith@cuc.edu>.
+ </para>
+ </refsect1>
+
+</refentry>
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_MKHOMEDIR" "8" "05/30/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_mkhomedir
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_MKHOMEDIR" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.PP
The new users home directory will not be removed after logout of the user.
.SH "OPTIONS"
-.TP
+.TP 3n
\fBsilent\fR
Don't print informative messages.
-.TP
+.TP 3n
\fBumask=\fR\fB\fImask\fR\fR
The user file\-creation mask is set to
\fImask\fR. The default value of mask is 0022.
-.TP
+.TP 3n
\fBskel=\fR\fB\fI/path/to/skel/directory\fR\fR
Indicate an alternative
\fIskel\fR
\fBsession\fR
service is supported.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_BUF_ERR
Memory buffer error.
-.TP
+.TP 3n
PAM_CRED_INSUFFICIENT
Insufficient credentials to access authentication data.
-.TP
+.TP 3n
PAM_PERM_DENIED
Not enough permissions to create the new directory or read the skel directory.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User not known to the underlying authentication module.
-.TP
+.TP 3n
PAM_SUCCESS
Environment variables were set.
.SH "FILES"
-.TP
+.TP 3n
\fI/etc/skel\fR
Default skel directory
.SH "EXAMPLES"
.PP
A sample /etc/pam.d/login file:
.sp
+.RS 3n
.nf
auth requisite pam_securetty.so
auth sufficient pam_ldap.so
session optional pam_mail.so standard
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.d\fR(8),
\fBpam\fR(8).
.SH "AUTHOR"
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_SUCCEED_IF" "8" "02/24/2006" "Linux\-PAM" "Linux\-PAM"
+.\" Title: pam_succeed_if
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM
+.\" Source: Linux\-PAM
+.\"
+.TH "PAM_SUCCEED_IF" "8" "06/02/2006" "Linux\-PAM" "Linux\-PAM"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
.PP
The following
\fIflag\fRs are supported:
-.TP
+.TP 3n
\fBdebug\fR
Turns on debugging messages sent to syslog.
-.TP
+.TP 3n
\fBuse_uid\fR
Evaluate conditions using the account of the user whose UID the application is running under instead of the user being authenticated.
-.TP
+.TP 3n
\fBquiet\fR
Don't log failure or success to the system log.
-.TP
+.TP 3n
\fBquiet_fail\fR
Don't log failure to the system log.
-.TP
+.TP 3n
\fBquiet_success\fR
Don't log success to the system log.
.PP
+
\fICondition\fRs are three words: a field, a test, and a value to test for.
.PP
Available fields are
\fIshell\fR
and
\fIhome\fR:
-.TP
+.TP 3n
\fBfield < number\fR
Field has a value numerically less than number.
-.TP
+.TP 3n
\fBfield <= number\fR
Field has a value numerically less than or equal to number.
-.TP
+.TP 3n
\fBfield eq number\fR
Field has a value numerically less equal to number.
-.TP
+.TP 3n
\fBfield >= number\fR
Field has a value numerically greater than or equal to number.
-.TP
+.TP 3n
\fBfield > number\fR
Field has a value numerically greater than number.
-.TP
+.TP 3n
\fBfield ne number\fR
Field has a value numerically different from number.
-.TP
+.TP 3n
\fBfield = string\fR
Field exactly matches the given string.
-.TP
+.TP 3n
\fBfield != string\fR
Field does not match the given string.
-.TP
+.TP 3n
\fBfield =~ glob\fR
Field matches the given glob.
-.TP
+.TP 3n
\fBfield !~ glob\fR
Field does not match the given glob.
-.TP
+.TP 3n
\fBuser ingroup group\fR
User is in given group.
-.TP
+.TP 3n
\fBuser notingroup group\fR
User is not in given group.
.SH "RETURN VALUES"
-.TP
+.TP 3n
PAM_SUCCESS
The condition was true.
-.TP
+.TP 3n
PAM_AUTH_ERR
The condition was false.
-.TP
+.TP 3n
PAM_SERVICE_ERR
A service error occured or the arguments can't be parsed as numbers.
.SH "EXAMPLES"
To emulate the behaviour of
\fIpam_wheel\fR, except there is no fallback to group 0:
.sp
+.RS 3n
.nf
auth required pam_succeed_if.so quiet user ingroup wheel
.fi
+.RE
.sp
.PP
Given that the type matches, only loads the othermodule rule if the UID is over 500. Adjust the number after default to skip several rules.
.sp
+.RS 3n
.nf
type [default=1 success=ignore] pam_succeed_if.so quiet uid > 500
type required othermodule.so arguments...
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBglob\fR(7),
\fBpam\fR(8)
.SH "AUTHOR"
-.\" ** You probably do not want to edit this file directly **
-.\" It was generated using the DocBook XSL Stylesheets (version 1.69.1).
-.\" Instead of manually editing it, you probably should edit the DocBook XML
-.\" source for it and then use the DocBook XSL Stylesheets to regenerate it.
-.TH "PAM_UMASK" "8" "05/30/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
+.\" Title: pam_umask
+.\" Author:
+.\" Generator: DocBook XSL Stylesheets v1.70.1 <http://docbook.sf.net/>
+.\" Date: 06/02/2006
+.\" Manual: Linux\-PAM Manual
+.\" Source: Linux\-PAM Manual
+.\"
+.TH "PAM_UMASK" "8" "06/02/2006" "Linux\-PAM Manual" "Linux\-PAM Manual"
.\" disable hyphenation
.nh
.\" disable justification (adjust text to left margin only)
pam_umask is a PAM module to set the file mode creation mask of the current environment. The umask affects the default permissions assigned to newly created files.
.PP
The PAM module tries to get the umask value from the following places in the following order:
-.TP 3
+.TP 3n
\(bu
umask= argument
-.TP
+.TP 3n
\(bu
umask= entry of the users GECOS field
-.TP
+.TP 3n
\(bu
pri= entry of the users GECOS field
-.TP
+.TP 3n
\(bu
ulimit= entry of the users GECOS field
-.TP
+.TP 3n
\(bu
UMASK= entry from /etc/default/login
-.TP
+.TP 3n
\(bu
UMASK entry from /etc/login.defs
+.sp
+.RE
.SH "OPTIONS"
.PP
-.TP
+.TP 3n
\fBdebug\fR
Print debug information.
-.TP
+.TP 3n
\fBusergroups\fR
If the user is not root, and the user ID is equal to the group ID, and the username is the same as primary group name, the umask group bits are set to be the same as owner bits (examples: 022 \-> 002, 077 \-> 007).
-.TP
+.TP 3n
\fBumask=\fR\fB\fImask\fR\fR
Sets the calling process's file mode creation mask (umask) to
\fBmask\fR
service is supported.
.SH "RETURN VALUES"
.PP
-.TP
+.TP 3n
PAM_SUCCESS
The new umask was set successfull.
-.TP
+.TP 3n
PAM_SERVICE_ERR
No username was given.
-.TP
+.TP 3n
PAM_USER_UNKNOWN
User not known.
.SH "EXAMPLES"
\fI/etc/pam.d/login\fR
to set the user specific umask at login:
.sp
+.RS 3n
.nf
session optional pam_umask.so umask=0022
.fi
+.RE
.sp
.SH "SEE ALSO"
.PP
+
\fBpam.conf\fR(5),
\fBpam.d\fR(8),
\fBpam\fR(8)
pam_syslog(pamh, LOG_DEBUG,
"password for user %s will expire in %d days",
uname, daysleft);
+#ifdef HAVE_DNGETTEXT
+ snprintf (buf, sizeof (buf),
+ dngettext(PACKAGE,
+ "Warning: your password will expire in %d day",
+ "Warning: your password will expire in %d days",
+ daysleft),
+ daysleft);
+#else
if (daysleft == 1)
snprintf(buf, sizeof (buf),
- _("Warning: your password will expire in one day"));
+ _("Warning: your password will expire in %d day"),
+ daysleft);
else
snprintf(buf, sizeof (buf),
+ /* TRANSLATORS: only used if dngettext is not support
+ed */
_("Warning: your password will expire in %d days"),
daysleft);
+#endif
_make_remark(pamh, ctrl, PAM_TEXT_INFO, buf);
}
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=INTEGER; plural=EXPRESSION;\n"
#: modules/pam_exec/pam_exec.c:118
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr ""
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr ""
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr ""
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr ""
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
msgid "Security Context %s Assigned"
msgstr ""
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr ""
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr ""
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr ""
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr ""
msgid "You are required to change your password immediately (password aged)"
msgstr ""
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, c-format
-msgid "Warning: your password will expire in one day"
-msgstr ""
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, c-format
msgid "Warning: your password will expire in %d days"
msgstr ""
msgid "has been already used"
msgstr ""
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-04 08:44+0200\n"
"Last-Translator: Klara Cihlarova <koty@seznam.cz>\n"
"Language-Team: cs_CZ <cs@li.org>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Chyba autentizace"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Chyba služby"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Neznámý uživatel"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Neznámá chyba"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Zadána špatná hodnota --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Neznámá volba %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
"%s: [--file jmeno_souboru] [--user uzivatelske_jmeno] [--reset[=n]] [--"
"quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Nelze resetovat všechny uživatele nenulově\n"
msgid "Security Context %s Assigned"
msgstr "Bezpečnostní kontext %s přidělen"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Žádná pošta."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Máte novou poštu."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Máte starou poštu."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Máte poštu."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Nemáte žádnou poštu ve složce %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Máte novou poštu ve složce %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Máte starou poštu ve složce %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Máte poštu ve složce %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Musíte okamžitě změnit své heslo (heslo vypršelo)"
-#: modules/pam_unix/pam_unix_acct.c:322
-#, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Varování: Počet dní do vypršení hesla: 1"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Varování: Počet dní do vypršení hesla: %d"
+msgstr[1] "Varování: Počet dní do vypršení hesla: %d"
+msgstr[2] "Varování: Počet dní do vypršení hesla: %d"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Varování: Počet dní do vypršení hesla: %d"
msgid "has been already used"
msgstr "již bylo použito"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ŠPATNÉ HESLO: %s"
msgid "erroneous conversation (%d)\n"
msgstr "nesprávná konverzace (%d)\n"
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Varování: Počet dní do vypršení hesla: 1"
+
#~ msgid "dlopen() failure"
#~ msgstr "Selhání dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
-"PO-Revision-Date: 2006-05-04 08:41+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
+"PO-Revision-Date: 2006-06-02 12:35+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=n == 1 ? 0 : 1;\n"
#: modules/pam_exec/pam_exec.c:118
#, c-format
msgid "%s failed: unknown status 0x%x"
msgstr "%s schlug fehl: Unbekannter Status 0x%x"
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Authentifizierungsfehler"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Dienstfehler"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Unbekannter Benutzer"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Unbekannter Fehler"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Ungültige Nummer für --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Nicht erkannte Option: %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
msgid "Security Context %s Assigned"
msgstr "Sicherheitskontext %s zugewiesen"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Keine Nachrichten."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Sie haben neue Nachrichten."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Sie haben alte Nachrichten."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Sie haben Nachrichten."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Sie haben keine Nachrichten in %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Sie haben neue Nachrichten in %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Sie haben alte Nachrichten in %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Sie haben Nachrichten in %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Sie müssen Ihr Passwort sofort ändern (Passwortablauf)."
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Warnung: Ihr Passwort läuft in einem Tag ab."
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Warnung: Ihr Passwort läuft in %d Tag ab."
+msgstr[1] "Warnung: Ihr Passwort läuft in %d Tagen ab."
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Warnung: Ihr Passwort läuft in %d Tagen ab."
msgid "has been already used"
msgstr "es wurde bereits verwendet"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "Schlechtes Passwort: %s"
#, c-format
msgid "erroneous conversation (%d)\n"
msgstr "fehlerhafte Kommunikation (%d)\n"
-
-#~ msgid "dlopen() failure"
-#~ msgstr "Fehler bei dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-04 08:32+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Error de autenticación"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Error de servicio"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Usuario desconocido"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Error desconocido"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Número incorrecto proporcionado a --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Opción no reconocida %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
"%s: [--file nombre de archivo-raíz] [--user nombre de usuario] [--reset[=n]] "
"[--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
msgid "Security Context %s Assigned"
msgstr "Contexto de seguridad %s asignado"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "No hay correo."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Tiene correo nuevo."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Tiene correo antiguo."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Tiene correo."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "No tiene correo en la carpeta %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Tiene correo nuevo en la carpeta %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Tiene correo antiguo en la carpeta %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Tiene correo en la carpeta %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Debe cambiar la contraseña inmediatamente (la contraseña ha caducado)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Advertencia: la contraseña caducará dentro de %d día%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Advertencia: la contraseña caducará dentro de %d día%.2s"
+msgstr[1] "Advertencia: la contraseña caducará dentro de %d día%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Advertencia: la contraseña caducará dentro de %d día%.2s"
msgid "has been already used"
msgstr "ya se ha utilizado"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "CONTRASEÑA INCORRECTA: %s"
msgid "erroneous conversation (%d)\n"
msgstr "conversación incorrecta (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Advertencia: la contraseña caducará dentro de %d día%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "error de dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-04 08:30+0200\n"
"Last-Translator: Jyri Palokangas <jmp@netti.fi>\n"
"Language-Team: <yast-trans-fi@kotoistaminen.novell.fi>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Tunnistautumisvirhe"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Palveluvirhe"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Tuntematon käyttäjä"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Tuntematon virhe"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Väärä numero annettu valinnalle --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Tunnistamaton valinta %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
"%s: [--file juurrutettu-tiedostonimi] [--user käyttäjätunnus] [--reset[=n]] "
"[--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Ei voida palauttaa kaikkia käyttäjiä ei-nolliksi\n"
msgid "Security Context %s Assigned"
msgstr "Tietoturvaympäristö %s asetettiin"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Ei postia."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Sinulle on uutta postia."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Sinulla on vanha posti."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Sinulle on postia."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Sinulla ei ole postia kansiossa %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Sinulla on postia kansiossa %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Sinulla on vanhaa postia kansiossa %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Sinulla on postia kansiossa %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Salasanasi täytyy vaihtaa heti (salasana vanhentunut)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Varoitus: salasanasi vanhenee %d päivässä%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Varoitus: salasanasi vanhenee %d päivässä%.2s"
+msgstr[1] "Varoitus: salasanasi vanhenee %d päivässä%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Varoitus: salasanasi vanhenee %d päivässä%.2s"
msgid "has been already used"
msgstr "on jo käytetty"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "HUONO SALASANA: %s"
msgid "erroneous conversation (%d)\n"
msgstr "virheellinen keskustelu (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Varoitus: salasanasi vanhenee %d päivässä%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "dlopen() virhe"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-04 08:29+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Erreur d'authentification"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Erreur de service"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Utilisateur inconnu"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Erreur inconnue"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Numéro incorrect attribué à --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s : Option non reconnue %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Impossible de réinitialiser tous les utilisateurs à non-zéro\n"
msgid "Security Context %s Assigned"
msgstr "Contexte de sécurité %s attribué"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Aucun message."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Vous avez un nouveau message."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Vous avez un ancien message."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Vous avez des messages."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Vous n'avez aucun message dans le dossier %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Vous avez un nouveau message dans le dossier %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Vous avez un ancien message dans le dossier %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Vous avez des messages dans le dossier %s."
msgstr ""
"Vous devez changer votre mot de passe immédiatement (mot de passe périmé)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Avertissement : votre mot de passe expire dans %d jour%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Avertissement : votre mot de passe expire dans %d jour%.2s"
+msgstr[1] "Avertissement : votre mot de passe expire dans %d jour%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Avertissement : votre mot de passe expire dans %d jour%.2s"
msgid "has been already used"
msgstr "a déjà été utilisé"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "MOT DE PASSE INCORRECT : %s"
msgid "erroneous conversation (%d)\n"
msgstr "erreurs de conversation (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Avertissement : votre mot de passe expire dans %d jour%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "échec de dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM.hu\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 22:06+0200\n"
"Last-Translator: Kalman Kemenczy <kkemenczy@novell.com>\n"
"Language-Team: Hungarian <en@li.org>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Hitelesítési hiba"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Szolgáltatási hiba"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Ismeretlen felhasználó"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Ismeretlen hiba"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Rossz szám lett megadva: --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Fel nem ismert paraméter (%s)\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-fájlnév] [--user felhasználónév] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Nem állítható vissza minden felhasználó nem nullára\n"
msgid "Security Context %s Assigned"
msgstr "%s biztonsági kontextus hozzárendelve"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Nincs levél"
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Új levele érkezett."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Régebbi levelei vannak."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Önnek levele van."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "%s könyvtárban nincs levél."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "%s könyvtárban új levél van."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "%s könyvtárban régi levél van."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "%s könyvtárban levelek vannak."
msgid "You are required to change your password immediately (password aged)"
msgstr "Azonnal meg kell változtatnia a jelszavát (a jelszó elévült)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Figyelmeztetés: a jelszava lejár %d nap múlva%.2s"
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Figyelmeztetés: a jelszava lejár %d nap múlva%.2s"
-#: modules/pam_unix/pam_unix_acct.c:325
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Figyelmeztetés: a jelszava lejár %d nap múlva%.2s"
msgid "has been already used"
msgstr "A jelszót már használta. Válasszon egy másikat."
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ROSSZ JELSZÓ: %s"
msgid "erroneous conversation (%d)\n"
msgstr "hibás beszélgetés (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Figyelmeztetés: a jelszava lejár %d nap múlva%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "dlopen() hiba"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 22:05+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Errore di autenticazione"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Errore servizio"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Utente sconosciuto"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Errore sconosciuto"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Numero errato fornito a --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Opzione non riconosciuta %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
msgid "Security Context %s Assigned"
msgstr "Contesto di sicurezza %s assegnato"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Nessuna e-mail."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Nuova e-mail."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "E-mail vecchie."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "E-mail esistenti."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "La cartella %s non contiene alcuna e-mail."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "La cartella %s non contiene alcuna e-mail nuova."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "La cartella %s non contiene alcuna e-mail vecchia."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "La cartella %s contiene e-mail."
"È richiesta la modifica immediata della parola d'ordine (parola d'ordine "
"obsoleta)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Avviso: la parola d'ordine scadrà tra %d giorni%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Avviso: la parola d'ordine scadrà tra %d giorni%.2s"
+msgstr[1] "Avviso: la parola d'ordine scadrà tra %d giorni%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Avviso: la parola d'ordine scadrà tra %d giorni%.2s"
msgid "has been already used"
msgstr "è già stata utilizzata"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "PAROLA D'ORDINE ERRTATA: %s"
msgid "erroneous conversation (%d)\n"
msgstr "conversazione errata (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Avviso: la parola d'ordine scadrà tra %d giorni%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "errore dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 22:00+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "認証エラー"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "サービスエラー"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "不明なユーザ"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "不明なエラー"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: 不正番号が--reset=に与えられました\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: 未認識オプション%s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: すべてのユーザを非ゼロにリセットできません\n"
msgid "Security Context %s Assigned"
msgstr "割り当てられたセキュリティコンテキスト%s"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "メールがありません。"
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "新しいメールがあります。"
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "古いメールがあります。"
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "メールがあります。"
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "フォルダ%sにメールがありません。"
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "フォルダ%sに新しいメールがあります。"
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "フォルダ%sに古いメールがあります。"
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "フォルダ%sにメールがあります。"
msgid "You are required to change your password immediately (password aged)"
msgstr "パスワードを直ちに変更する必要があります(古いパスワード)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "警告: パスワードは%d日で有効期限が切れます。%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "警告: パスワードは%d日で有効期限が切れます。%.2s"
+msgstr[1] "警告: パスワードは%d日で有効期限が切れます。%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "警告: パスワードは%d日で有効期限が切れます。%.2s"
msgid "has been already used"
msgstr "パスワードはすでに使用されています。"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "よくないパスワード: %s"
msgid "erroneous conversation (%d)\n"
msgstr "誤った会話(%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "警告: パスワードは%d日で有効期限が切れます。%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "dlopen()失敗"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-03-17 10:32+0700\n"
"Last-Translator: Khoem Sokhem <khoemsokhem@khmeros.info>\n"
"Language-Team: Khmer <support@khmeros.info>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "កំហុសក្នុងការផ្ទៀងផ្ទាត់ភាពត្រឹមត្រូវ"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "កំហុសសេវា"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "មិនស្គាល់អ្នកប្រើ"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "មិនស្គាល់កំហុស"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s ៖ លេខមិនល្អបានផ្ដល់ទៅ --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s ៖ ជម្រើសដែលមិនស្គាល់ %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s ៖ [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s ៖ មិនអាចកំណត់អ្នកប្រើទាំងអស់ទៅមិនមែនសូន្យឡើងវិញបានទេ\n"
msgid "Security Context %s Assigned"
msgstr "បរិបទសុវត្ថិភាព %s បានផ្ដល់តម្លៃ"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "គ្មានសំបុត្រ ។"
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "អ្នកមានសំបុត្រថ្មី ។"
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "អ្នកមានសំបុត្រចាស់ ។"
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "អ្នកមានសំបុត្រ ។"
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "អ្នកគ្មានសំបុត្រនៅក្នុងថត %s ។"
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "អ្នកមានសំបុត្រថ្មីនៅក្នុងថត %s ។"
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "អ្នកមានសំបុត្រចាស់នៅក្នុងថត %s ។"
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "អ្នកមានសំបុត្រនៅក្នុងថត %s ។"
msgid "You are required to change your password immediately (password aged)"
msgstr "អ្នកត្រូវតែផ្លាស់ប្ដូរពាក្យសម្ងាត់របស់អ្នកឥឡូវនេះ (ពាក្យសម្ងាត់ចាស់ហើយ)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "ការព្រមាន ៖ ពាក្យសម្ងាត់របស់អ្នកនឹងផុតកំណត់ក្នុងរយៈពេល %d ថ្ងៃ %.2s ។"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "ការព្រមាន ៖ ពាក្យសម្ងាត់របស់អ្នកនឹងផុតកំណត់ក្នុងរយៈពេល %d ថ្ងៃ %.2s ។"
+msgstr[1] "ការព្រមាន ៖ ពាក្យសម្ងាត់របស់អ្នកនឹងផុតកំណត់ក្នុងរយៈពេល %d ថ្ងៃ %.2s ។"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "ការព្រមាន ៖ ពាក្យសម្ងាត់របស់អ្នកនឹងផុតកំណត់ក្នុងរយៈពេល %d ថ្ងៃ %.2s ។"
msgid "has been already used"
msgstr "បានប្រើរួចហើយ"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ពាក្យសម្ងាត់មិនល្អ ៖ %s"
msgid "erroneous conversation (%d)\n"
msgstr "សន្ទនាច្រឡំ (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "ការព្រមាន ៖ ពាក្យសម្ងាត់របស់អ្នកនឹងផុតកំណត់ក្នុងរយៈពេល %d ថ្ងៃ %.2s ។"
+
#~ msgid "dlopen() failure"
#~ msgstr "បរាជ័យ dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 22:04+0200\n"
"Last-Translator: Olav Pettershagen <olav.pet@online.no>\n"
"Language-Team: <nb@li.org>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Autentiseringsfeil"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Tjenestefeil"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Ukjent bruker"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Ukjent feil"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Ugyldig tall angitt for --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Ukjent valg %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filnavn] [--user brukernavn] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Kan ikke tilbakestille alle brukere til non-zero\n"
msgid "Security Context %s Assigned"
msgstr "Sikkerhetskontekst %s tilordnet"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Ingen e-post."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Du har fått ny e-post."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Du har ulest e-post."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Du har fått e-post."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Du har ingen e-post i mappen %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Du har ny e-post i mappen %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Du har ulest e-post i mappen %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Du har e-post i mappen %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Du må straks endre passordet ditt (passord for gammelt)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Advarsel: passordet ditt vil utløpe om %d dager%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Advarsel: passordet ditt vil utløpe om %d dager%.2s"
+msgstr[1] "Advarsel: passordet ditt vil utløpe om %d dager%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Advarsel: passordet ditt vil utløpe om %d dager%.2s"
msgid "has been already used"
msgstr "er allerede benyttet"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "SVAKT PASSORD: %s"
msgid "erroneous conversation (%d)\n"
msgstr "mislykket dialog (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Advarsel: passordet ditt vil utløpe om %d dager%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "dlopen()-feil"
msgstr ""
"Project-Id-Version: Linux-PAM.nl\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 22:02+0200\n"
"Last-Translator: Rinse de Vries <rinsedevries@kde.nl>\n"
"Language-Team: Dutch <kde-i18n-nl@kde.org>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Verificatiefout"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Servicefout"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Onbekende gebruiker"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Onbekende fout"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: onjuist getal gegeven aan --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: niet-herkende optie %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
"%s [--file rooted-bestandsnaam] [ --user gebruikersnaam] [--reset[=n]] [--"
"quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: kan niet alle gebruikers terugzetten naar non-zero\n"
msgid "Security Context %s Assigned"
msgstr "Beveilgingscontext %s toegewezen"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Geen e-mail."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "U hebt nieuwe e-mail."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "U hebt oude e-mail."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "U hebt e-mail."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "U hebt geen e-mail in map %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "U hebt nieuwe e-mail in map %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "U hebt oude e-mail in map %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "U hebt e-mail in map %s."
msgstr ""
"U dient onmiddellijk uw wachtwoord te wijzigen (wachtwoord is verouderd)"
-#: modules/pam_unix/pam_unix_acct.c:322
-#, c-format
-msgid "Warning: your password will expire in one day"
-msgstr ""
-
-#: modules/pam_unix/pam_unix_acct.c:325
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
+#, fuzzy, c-format
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Waarschuwing: uw wachtwoord zal over %d day%.2s verlopen"
+msgstr[1] "Waarschuwing: uw wachtwoord zal over %d day%.2s verlopen"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Waarschuwing: uw wachtwoord zal over %d day%.2s verlopen"
msgid "has been already used"
msgstr "is al gebruikt"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "SLECHT WACHTWOORD: %s"
msgstr ""
"Project-Id-Version: Linux-PAM.pa\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2005-08-06 08:34+0530\n"
"Last-Translator: Amanpreet Singh Alam[ਆਲਮ] <amanpreetalam@yahoo.com>\n"
"Language-Team: Panjabi <pa@li.org>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "ਪਰਮਾਣਕਿਤਾ ਗਲਤੀ"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "ਸੇਵਾ ਗਲਤੀ"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "ਅਣਜਾਣ ਉਪਭੋਗੀ"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "ਅਣਜਾਣੀ ਗਲਤੀ"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: --reset= ਲਈ ਗਲਤ ਨੰਬਰ ਦਿੱਤਾ ਗਿਆ\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: ਬੇਪਛਾਣ ਚੋਣ %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
msgid "Security Context %s Assigned"
msgstr ""
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr ""
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr ""
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr ""
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr ""
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr ""
msgid "You are required to change your password immediately (password aged)"
msgstr ""
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "ਸਾਵਧਾਨ: ਤੁਹਾਡਾ ਗੁਪਤ-ਕੋਡ ਦੀ ਮਿਆਦ %d ਦਿਨ%.2s 'ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "ਸਾਵਧਾਨ: ਤੁਹਾਡਾ ਗੁਪਤ-ਕੋਡ ਦੀ ਮਿਆਦ %d ਦਿਨ%.2s 'ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
+msgstr[1] "ਸਾਵਧਾਨ: ਤੁਹਾਡਾ ਗੁਪਤ-ਕੋਡ ਦੀ ਮਿਆਦ %d ਦਿਨ%.2s 'ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "ਸਾਵਧਾਨ: ਤੁਹਾਡਾ ਗੁਪਤ-ਕੋਡ ਦੀ ਮਿਆਦ %d ਦਿਨ%.2s 'ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
msgid "has been already used"
msgstr "ਗੁਪਤ-ਕੋਡ ਪਹਿਲਾਂ ਵੀ ਵਰਤਿਆ ਗਿਆ ਹੈ। ਵੱਖਰਾ ਚੁਣੋ।"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr ""
msgid "erroneous conversation (%d)\n"
msgstr ""
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "ਸਾਵਧਾਨ: ਤੁਹਾਡਾ ਗੁਪਤ-ਕੋਡ ਦੀ ਮਿਆਦ %d ਦਿਨ%.2s 'ਚ ਪੁੱਗ ਜਾਵੇਗੀ।"
+
#~ msgid "dlopen() failure"
#~ msgstr "dlopen() ਫੇਲ"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 21:58+0200\n"
"Last-Translator: Wojciech Kapusta <wojciech@aviary.pl>\n"
"Language-Team: <pl@li.org>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Błąd uwierzytelniania"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Błąd usługi"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Nieznany użytkownik"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Nieznany błąd"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Błędny numer podany w opcji --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Nierozpoznana opcja %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Nie można przywrócić wszystkich użytkowników\n"
msgid "Security Context %s Assigned"
msgstr "Kontekst bezpieczeństwa %s przypisany"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Brak wiadomości."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Odebrano nowe wiadomości."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Skrzynka zawiera stare wiadomości."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Odebrano wiadomości."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Brak wiadomości w katalogu %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Nowe wiadomości w katalogu %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Stare wiadomości katalogu %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Wiadomości w katalogu %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Należy natychmiast zmienić hasło (hasło wygasło)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Ostrzeżenie: hasło wygaśnie za %d dni%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Ostrzeżenie: hasło wygaśnie za %d dni%.2s"
+msgstr[1] "Ostrzeżenie: hasło wygaśnie za %d dni%.2s"
+msgstr[2] "Ostrzeżenie: hasło wygaśnie za %d dni%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Ostrzeżenie: hasło wygaśnie za %d dni%.2s"
msgid "has been already used"
msgstr "było już używane"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ZŁE HASŁO: %s"
msgid "erroneous conversation (%d)\n"
msgstr "błędna konwersacja (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Ostrzeżenie: hasło wygaśnie za %d dni%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "nieudane dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM.pt\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 21:54+0200\n"
"Last-Translator: Antonio Cardoso Martins <digiplan@netvisao.pt>\n"
"Language-Team: portuguese\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Erro de autenticação"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Erro de serviço"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Utilizador desconhecido"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Erro desconhecido"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Número errado fornecido a --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Opção não reconhecida %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file ficheiro-raiz] [--user nome-utilizador] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Não foi possível reiniciar todos os utilizadores para não zero\n"
msgid "Security Context %s Assigned"
msgstr "Contexto de Segurança %s Atribuído"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Não tem correio."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Tem novo correio electrónico."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Tem correio electrónico antigo."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Tem correio electrónico."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Não tem correio electrónico na pasta %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Tem novo correio electrónico na pasta %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Tem correio electrónico antigo na pasta %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Tem correio electrónico na pasta %s."
msgstr ""
"É obrigatório que altere de imediato a sua palavra passe (forçado pela idade)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Aviso: a sua palavra passe expira em %d dia%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Aviso: a sua palavra passe expira em %d dia%.2s"
+msgstr[1] "Aviso: a sua palavra passe expira em %d dia%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Aviso: a sua palavra passe expira em %d dia%.2s"
msgid "has been already used"
msgstr "já foi utilizada"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "MÁ PALAVRA PASSE: %s"
msgid "erroneous conversation (%d)\n"
msgstr "conversação errónea (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Aviso: a sua palavra passe expira em %d dia%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "falha em dlopen()"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 21:55+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Erro de autenticação"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Erro de serviço"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Usuário desconhecido"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Erro desconhecido"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Número insuficiente fornecido a --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Opção não reconhecida %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Impossível redefinir todos os usuários para não-zero\n"
msgid "Security Context %s Assigned"
msgstr "Contexto de Segurança %s Atribuído"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Não há mensagens."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Há novas mensagens."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Há mensagens antigas."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Há mensagens."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Não há mensagens na pasta %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Há novas mensagens na pasta %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Há mensagens antigas na pasta %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Há mensagens na pasta %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Mude sua senha imediatamente (senha expirada)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Aviso: sua senha expirará em %d dia%.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Aviso: sua senha expirará em %d dia%.2s"
+msgstr[1] "Aviso: sua senha expirará em %d dia%.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Aviso: sua senha expirará em %d dia%.2s"
msgid "has been already used"
msgstr "já foi usada"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "SENHA INCORRETA: %s"
msgid "erroneous conversation (%d)\n"
msgstr "conversação errônea (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Aviso: sua senha expirará em %d dia%.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "falha de dlopen ()"
msgstr ""
"Project-Id-Version: Linux-PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 19:00+0200\n"
"Last-Translator: Koray Löker <loker@pardus.org.tr>\n"
"Language-Team: Türkçe <tr@li.org>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Yetkilendirme hatası"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Servis hatası"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Bilinmeyen kullanıcı"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Bilinmeyen hata"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Sıfırlamak için geçersiz sayı=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Tanımlanamayan seçenek %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file DosyanınTamYolu] [--user KullanıcıAdı] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr ""
msgid "Security Context %s Assigned"
msgstr "Güvenlik Bağlamı %s Atandı"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "İleti yok"
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Yeni iletiniz var"
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Okunmuş iletiniz var"
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "İletiniz var"
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "%s dizininde iletiniz yok"
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "%s dizininde yeni iletiniz var"
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "%s dizininde okunmuş iletiniz var"
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "%s dizininde iletiniz var"
msgid "You are required to change your password immediately (password aged)"
msgstr "Parolanızı en kısa sürede değiştirmeniz gerekiyor (parola eski)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün%.2s sonra doluyor"
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Dikkat: Parolanızın geçerlilik süresi %d gün%.2s sonra doluyor"
-#: modules/pam_unix/pam_unix_acct.c:325
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün%.2s sonra doluyor"
msgid "has been already used"
msgstr "daha önce kullanıldı"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "YANLIŞ PAROLA: %s"
msgid "erroneous conversation (%d)\n"
msgstr "hatalı etkileşim (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Dikkat: Parolanızın geçerlilik süresi %d gün%.2s sonra doluyor"
+
#~ msgid "dlopen() failure"
#~ msgstr "dlopen() hatası"
msgstr ""
"Project-Id-Version: Linux-PAM.uk\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 18:59+0200\n"
"Last-Translator: Ivan Petrouchtchak <ivanpetrouchtchak@yahoo.com>\n"
"Language-Team: Ukrainian <translation@linux.org.ua>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "Помилка автентифікації"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "Помилка служби"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "Невідомий користувач"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "Невідома помилка"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: Погане число дано для --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: Нерозпізнано параметр %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
"%s: [--file rooted-filename] [--user ім'я користувача] [--reset[=n]] [--"
"quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: Не вдається скинути всіх користувачів до не-нуль\n"
msgid "Security Context %s Assigned"
msgstr "Призначено контекст безпеки %s"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "Нема пошти."
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "Ви маєте нову пошту."
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "Ви маєте стару пошту."
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "Ви маєте пошту."
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "Ви не маєте пошти у теці %s."
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "Ви маєте нову пошту в теці %s."
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "Ви маєте стару пошту в теці %s."
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "Ви маєте пошту в теці %s."
msgid "You are required to change your password immediately (password aged)"
msgstr "Вам необхідно негайно змінити пароль (поточний пароль застарів)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "Попередження: ваш пароль застаріє через %d дні(в) %.2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "Попередження: ваш пароль застаріє через %d дні(в) %.2s"
+msgstr[1] "Попередження: ваш пароль застаріє через %d дні(в) %.2s"
+msgstr[2] "Попередження: ваш пароль застаріє через %d дні(в) %.2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "Попередження: ваш пароль застаріє через %d дні(в) %.2s"
msgid "has been already used"
msgstr "вже вживався"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "ПОГАНИЙ ПАРОЛЬ: %s"
msgid "erroneous conversation (%d)\n"
msgstr "помилкова розмова (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "Попередження: ваш пароль застаріє через %d дні(в) %.2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "Помилка dlopen()"
msgstr ""
"Project-Id-Version: Linux_PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 18:59+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "鉴定错误"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "服务错误"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "未知的用户"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "未知的错误"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: 给定的数字无效 --重设置=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: 未识别的选项 %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr "%s: [--文件 根文件名] [--用户 用户名] [--重设置[=n]] [--安静]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: 无法将所有用户重设置为非零\n"
msgid "Security Context %s Assigned"
msgstr "已指派安全性环境 %s"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "无邮件。"
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "您有新邮件。"
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "您有旧邮件。"
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "您有邮件。"
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "您在文件夹 %s 中无邮件。"
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "您在文件夹 %s 中有新邮件。"
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "您在文件夹 %s 中有旧邮件。"
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "您在文件夹 %s 中有邮件。"
msgid "You are required to change your password immediately (password aged)"
msgstr "您需要立即更改口令(口令过期)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, c-format
-msgid "Warning: your password will expire in one day"
-msgstr ""
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] ""
+msgstr[1] ""
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, c-format
msgid "Warning: your password will expire in %d days"
msgstr ""
msgid "has been already used"
msgstr "已使用"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "无效的口令: %s"
msgstr ""
"Project-Id-Version: Linux_PAM\n"
"Report-Msgid-Bugs-To: http://sourceforge.net/projects/pam\n"
-"POT-Creation-Date: 2006-05-03 18:51+0200\n"
+"POT-Creation-Date: 2006-06-02 12:37+0200\n"
"PO-Revision-Date: 2006-05-03 18:55+0200\n"
"Last-Translator: Novell Language <language@novell.com>\n"
"Language-Team: Novell Language <language@novell.com>\n"
msgid "%s failed: unknown status 0x%x"
msgstr ""
-#: modules/pam_tally/pam_tally.c:739
+#: modules/pam_tally/pam_tally.c:744
msgid "Authentication error"
msgstr "驗證錯誤"
-#: modules/pam_tally/pam_tally.c:740
+#: modules/pam_tally/pam_tally.c:745
msgid "Service error"
msgstr "服務錯誤"
-#: modules/pam_tally/pam_tally.c:741
+#: modules/pam_tally/pam_tally.c:746
msgid "Unknown user"
msgstr "未知的使用者"
-#: modules/pam_tally/pam_tally.c:742
+#: modules/pam_tally/pam_tally.c:747
msgid "Unknown error"
msgstr "未知的錯誤"
-#: modules/pam_tally/pam_tally.c:758
+#: modules/pam_tally/pam_tally.c:763
#, c-format
msgid "%s: Bad number given to --reset=\n"
msgstr "%s: 不良的號碼提供至 --reset=\n"
-#: modules/pam_tally/pam_tally.c:762
+#: modules/pam_tally/pam_tally.c:767
#, c-format
msgid "%s: Unrecognised option %s\n"
msgstr "%s: 未識別的選項 %s\n"
-#: modules/pam_tally/pam_tally.c:774
+#: modules/pam_tally/pam_tally.c:779
#, c-format
msgid ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
msgstr ""
"%s: [--file rooted-filename] [--user username] [--reset[=n]] [--quiet]\n"
-#: modules/pam_tally/pam_tally.c:845
+#: modules/pam_tally/pam_tally.c:853
#, c-format
msgid "%s: Can't reset all users to non-zero\n"
msgstr "%s: 無法將所有使用者重新設定為非零\n"
msgid "Security Context %s Assigned"
msgstr "已指定安全網路位置 %s"
-#: modules/pam_mail/pam_mail.c:307
+#: modules/pam_mail/pam_mail.c:313
msgid "No mail."
msgstr "沒有郵件。"
-#: modules/pam_mail/pam_mail.c:310
+#: modules/pam_mail/pam_mail.c:316
msgid "You have new mail."
msgstr "您有新的郵件。"
-#: modules/pam_mail/pam_mail.c:313
+#: modules/pam_mail/pam_mail.c:319
msgid "You have old mail."
msgstr "您有舊的郵件。"
-#: modules/pam_mail/pam_mail.c:317
+#: modules/pam_mail/pam_mail.c:323
msgid "You have mail."
msgstr "您有郵件。"
-#: modules/pam_mail/pam_mail.c:324
+#: modules/pam_mail/pam_mail.c:330
#, c-format
msgid "You have no mail in folder %s."
msgstr "資料夾 %s 中沒有您的郵件。"
-#: modules/pam_mail/pam_mail.c:328
+#: modules/pam_mail/pam_mail.c:334
#, c-format
msgid "You have new mail in folder %s."
msgstr "資料夾 %s 中有您的新郵件。"
-#: modules/pam_mail/pam_mail.c:332
+#: modules/pam_mail/pam_mail.c:338
#, c-format
msgid "You have old mail in folder %s."
msgstr "資料夾 %s 中有您的舊郵件。"
-#: modules/pam_mail/pam_mail.c:337
+#: modules/pam_mail/pam_mail.c:343
#, c-format
msgid "You have mail in folder %s."
msgstr "資料夾 %s 中有您的郵件。"
msgid "You are required to change your password immediately (password aged)"
msgstr "您必須立刻變更您的密碼 (密碼使用過久)"
-#: modules/pam_unix/pam_unix_acct.c:322
+#: modules/pam_unix/pam_unix_acct.c:323 modules/pam_unix/pam_unix_acct.c:330
#, fuzzy, c-format
-msgid "Warning: your password will expire in one day"
-msgstr "警告:您的密碼將在 %d 天之後逾期。%2s"
-
-#: modules/pam_unix/pam_unix_acct.c:325
+msgid "Warning: your password will expire in %d day"
+msgid_plural "Warning: your password will expire in %d days"
+msgstr[0] "警告:您的密碼將在 %d 天之後逾期。%2s"
+msgstr[1] "警告:您的密碼將在 %d 天之後逾期。%2s"
+
+#. TRANSLATORS: only used if dngettext is not support
+#. ed
+#: modules/pam_unix/pam_unix_acct.c:336
#, fuzzy, c-format
msgid "Warning: your password will expire in %d days"
msgstr "警告:您的密碼將在 %d 天之後逾期。%2s"
msgid "has been already used"
msgstr "已經由其他使用者使用"
-#: modules/pam_cracklib/pam_cracklib.c:488
-#: modules/pam_cracklib/pam_cracklib.c:616
+#: modules/pam_cracklib/pam_cracklib.c:487
+#: modules/pam_cracklib/pam_cracklib.c:615
#, c-format
msgid "BAD PASSWORD: %s"
msgstr "不良的密碼: %s"
msgid "erroneous conversation (%d)\n"
msgstr "錯誤的交談 (%d)\n"
+#, fuzzy
+#~ msgid "Warning: your password will expire in one day"
+#~ msgstr "警告:您的密碼將在 %d 天之後逾期。%2s"
+
#~ msgid "dlopen() failure"
#~ msgstr "dlopen() 失敗"