1
0
mirror of https://github.com/samba-team/samba.git synced 2024-12-29 11:21:54 +03:00
samba-mirror/source3/pam_smbpass
Jeremy Allison f9147c4e40 r16241: Fix Klocwork #106 and others like it.
Make 2 important changes. pdb_get_methods()
returning NULL is a *fatal* error. Don't try
and cope with it just call smb_panic. This
removes a *lot* of pointless "if (!pdb)" handling
code. Secondly, ensure that if samu_init()
fails we *always* back out of a function. That
way we are never in a situation where the pdb_XXX()
functions need to start with a "if (sampass)"
test - this was just bad design, not defensive
programming.
Jeremy.
(This used to be commit a0d368197d)
2007-10-10 11:17:27 -05:00
..
samples Added Steve Langasek <vorlon@netexpress.net> pam_smbpass PAM module code. 2001-04-24 20:00:12 +00:00
CHANGELOG Added Steve Langasek <vorlon@netexpress.net> pam_smbpass PAM module code. 2001-04-24 20:00:12 +00:00
general.h r15477: Committing parts of the patch Timur has submitted for bug 2961, as agreed upon 2007-10-10 11:16:53 -05:00
INSTALL compile fixes; needs testing 2002-05-09 04:05:37 +00:00
pam_smb_acct.c r16241: Fix Klocwork #106 and others like it. 2007-10-10 11:17:27 -05:00
pam_smb_auth.c r16241: Fix Klocwork #106 and others like it. 2007-10-10 11:17:27 -05:00
pam_smb_passwd.c r14577: BUG Fixes: 2007-10-10 11:15:37 -05:00
README Patch from Vorlon 2003-04-26 19:46:59 +00:00
support.c r15477: Committing parts of the patch Timur has submitted for bug 2961, as agreed upon 2007-10-10 11:16:53 -05:00
support.h r13576: This is the beginnings of moving the SAM_ACCOUNT data structure 2007-10-10 11:10:15 -05:00
TODO Added Steve Langasek <vorlon@netexpress.net> pam_smbpass PAM module code. 2001-04-24 20:00:12 +00:00

25 Mar 2001

pam_smbpass is a PAM module which can be used on conforming systems to
keep the smbpasswd (Samba password) database in sync with the unix
password file. PAM (Pluggable Authentication Modules) is an API supported
under some Unices, such as Solaris, HPUX and Linux, that provides a
generic interface to authentication mechanisms.

For more information on PAM, see http://ftp.kernel.org/pub/linux/libs/pam/

This module authenticates a local smbpasswd user database.  If you require
support for authenticating against a remote SMB server, or if you're
concerned about the presence of suid root binaries on your system, it is
recommended that you use pam_winbind instead.

Options recognized by this module are as follows:

	debug		-	log more debugging info
	audit		-	like debug, but also logs unknown usernames
	use_first_pass	-	don't prompt the user for passwords;
				take them from PAM_ items instead
	try_first_pass  -	try to get the password from a previous
				PAM module, fall back to prompting the user
	use_authtok	-	like try_first_pass, but *fail* if the new
				PAM_AUTHTOK has not been previously set.
				(intended for stacking password modules only)
	not_set_pass    -	don't make passwords used by this module
				available to other modules.
	nodelay		-	don't insert ~1 second delays on authentication
				failure.
	nullok		-	null passwords are allowed.
	nonull		-	null passwords are not allowed. Used to
				override the Samba configuration.
	migrate		-	only meaningful in an "auth" context;
				used to update smbpasswd file with a
				password used for successful authentication.
	smbconf=<file>	-	specify an alternate path to the smb.conf
				file.

See the samples/ directory for example PAM configurations using this
module.

Thanks go to the following people:

* Andrew Morgan <morgan@transmeta.com>, for providing the Linux-PAM
framework, without which none of this would have happened

* Christian Gafton <gafton@redhat.com> and Andrew Morgan again, for the
pam_pwdb module upon which pam_smbpass was originally based

* Luke Leighton <lkcl@switchboard.net> for being receptive to the idea,
and for the occasional good-natured complaint about the project's status
that keep me working on it :)

* and of course, all the other members of the Samba team 
<http://www.samba.org/samba/team.html>, for creating a great product 
and for giving this project a purpose

---------------------
Stephen Langasek <vorlon@netexpress.net>