#%PAM-1.0
# Sample /etc/pam.d/sudo file for RedHat 9 / Fedora Core.
#   For other Linux distributions you may want to
#   use /etc/pam.d/sshd or /etc/pam.d/su as a guide.
#
#   There are two basic ways to configure PAM, either via pam_stack
#   or by explicitly specifying the various methods to use.
#
# Here we use pam_stack
auth       required	pam_stack.so service=system-auth
account    required	pam_stack.so service=system-auth
password   required	pam_stack.so service=system-auth
session    required	pam_stack.so service=system-auth
#
# Alternately, you can specify the authentication method directly.
# Here we use pam_unix for normal password authentication.
#auth       required	pam_env.so
#auth       sufficient	pam_unix.so
#account    required	pam_unix.so
#password   required	pam_cracklib.so retry=3 type=
#password   required	pam_unix.so nullok use_authtok md5 shadow
#session    required	pam_limits.so
#session    required	pam_unix.so
#
# Another option is to use SMB for authentication.
#auth       required	pam_env.so
#auth       sufficient	pam_smb_auth.so
#account    required	pam_smb_auth.so
#password   required	pam_smb_auth.so
#session    required	pam_limits.so
