Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
PAM.CONF(5)		       File Formats Manual		     PAM.CONF(5)

NAME
     pam.conf -- PAM policy file format

DESCRIPTION
     The PAM library searches for policies in the following files, in decreasing
     order of preference:

     1.   /etc/pam.d/service-name

     2.   /etc/pam.conf

     3.   /usr/local/etc/pam.d/service-name

     4.   /usr/local/etc/pam.conf

     If  none  of  these  locations contains a policy for the given service, the
     "other" policy is used instead, if it exists.

     Entries in per-service policy files must be of one of the two forms below:

	   [-]facility control-flag module-path [arguments ...]
	   [-]facility include other-service-name

     Entries in pam.conf-style policy files are of the same form, but  are  pre-
     fixed  by an additional field specifying the name of the service they apply
     to.

     In both cases, blank lines and comments introduced by a `#'  sign	are  ig-
     nored,  and  the  normal shell quoting rules apply.  The precise details of
     how the file is tokenized are described in openpam_readword(3).

     The facility field specifies the facility the entry applies to, and is  one
     of:

     auth	   Authentication   functions	(pam_authenticate(3),	pam_set-
		   cred(3))

     account	   Account management functions (pam_acct_mgmt(3))

     session	   Session     handling     functions	   (pam_open_session(3),
		   pam_close_session(3))

     password	   Password management functions (pam_chauthtok(3))

     The  facility field may optionally be preceded by a dash (`-'), which indi-
     cates that  failure  to  load  the  specified  module  (or  policy  if  the
     control-flag  is  include) should not be considered a fatal error.  This is
     intended for situations where it is desirable  to	share  a  single  policy
     across  multiple  systems,  but  certain additional modules or policies may
     only be present on some of them.

     The control-flag field determines how the result returned by the module af-
     fects the flow of control through (and the final result of) the rest of the
     chain, and is one of:

     required	   If this module succeeds, the result of the chain will be suc-
		   cess unless a later module fails.  If it fails, the	rest  of
		   the	chain  still  runs, but the final result will be failure
		   regardless of the success of later modules.

     requisite	   If this module succeeds, the result of the chain will be suc-
		   cess unless a later module fails.  If the module  fails,  the
		   chain is broken and the result is failure.

     sufficient    If  this  module succeeds, the chain is broken and the result
		   is success.	If it fails, the rest of the chain  still  runs,
		   but	the  final  result will be failure unless a later module
		   succeeds.

     binding	   If this module succeeds, the chain is broken and  the  result
		   is  success.   If it fails, the rest of the chain still runs,
		   but the final result will be failure regardless of  the  suc-
		   cess of later modules.

     optional	   If this module succeeds, the result of the chain will be suc-
		   cess  unless a later module fails.  If this module fails, the
		   result of the chain will be failure	unless	a  later  module
		   succeeds.

     There  are  two exceptions to the above: sufficient and binding modules are
     treated as optional by pam_setcred(3), and in the PAM_PRELIM_CHECK phase of
     pam_chauthtok(3).

     The module-path field specifies the name or full  path  of  the  module  to
     call.  If only the name is specified, the PAM library will search for it in
     the following locations:

     1.   /usr/lib

     2.   /usr/local/lib

     The  remaining  fields,  if any, are passed unmodified to the module if and
     when it is invoked.

     The include form of entry causes entries from a different chain  (specified
     by  other-system-name)  to be included in the current one.  This allows one
     to define system-wide policies which are then  included  into  service-spe-
     cific policies.  The system-wide policy can then be modified without having
     to also modify each and every service-specific policy.

     Take care not to introduce loops when using include rules, as there is cur-
     rently no loop detection in place.

MODULE OPTIONS
     Some  PAM	library functions may alter their behavior when called by a ser-
     vice module if certain module options were specified, regardless of whether
     the module itself accords them any importance.  One such option  is  debug,
     which  causes  the  dispatcher  to enable debugging messages before calling
     each service function, and disable them afterwards (unless  they  were  al-
     ready enabled).  Other special options include:

     authtok_prompt=prompt, oldauthtok_prompt=prompt, user_prompt=prompt
		   These  options  can	be  used to override the prompts used by
		   pam_get_authtok(3) and pam_get_user(3).

     echo_pass	   This option controls whether  pam_get_authtok(3)  will  allow
		   the user to see what they are typing.

     try_first_pass, use_first_pass
		   These  options control pam_get_authtok(3)'s use of cached au-
		   thentication tokens.

SEE ALSO
     pam(3)

STANDARDS
     X/Open Single Sign-On Service (XSSO) -  Pluggable	Authentication	Modules,
     June 1997.

AUTHORS
     The  OpenPAM  library  was developed for the FreeBSD Project by ThinkSec AS
     and Network Associates Laboratories, the Security Research Division of Net-
     work  Associates,	Inc.  under   DARPA/SPAWAR   contract	N66001-01-C-8035
     ("CBOSS"), as part of the DARPA CHATS research program.

     The OpenPAM library is maintained by Dag-Erling Smorgrav <des@des.dev>.

FreeBSD ports 15.quarterly	  May 31, 2025			     PAM.CONF(5)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=pam.d&sektion=5&manpath=FreeBSD+15.1-RELEASE+and+Ports.quarterly>

home | help