Add support for the "account" facility.

PR:		115164
MFC after:	1 week
This commit is contained in:
Dag-Erling Smørgrav 2014-07-19 21:04:21 +00:00
parent 091d453222
commit 16722cb2c1
2 changed files with 25 additions and 5 deletions

View File

@ -33,7 +33,7 @@
.\"
.\" $FreeBSD$
.\"
.Dd March 9, 2011
.Dd July 19, 2014
.Dt PAM_GROUP 8
.Os
.Sh NAME
@ -48,6 +48,11 @@
.Sh DESCRIPTION
The group service module for PAM accepts or rejects users based on
their membership in a particular file group.
.Nm pam_group
provides functionality for two PAM categories: authentication and
account management.
In terms of the module-type parameter, they are the ``auth'' and
``account'' features.
.Pp
The following options may be passed to the
.Nm

View File

@ -47,15 +47,14 @@ __FBSDID("$FreeBSD$");
#include <unistd.h>
#define PAM_SM_AUTH
#define PAM_SM_ACCOUNT
#include <security/pam_appl.h>
#include <security/pam_modules.h>
#include <security/openpam.h>
PAM_EXTERN int
pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
int argc __unused, const char *argv[] __unused)
static int
pam_group(pam_handle_t *pamh)
{
int local, remote;
const char *group, *user;
@ -120,6 +119,14 @@ pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
goto not_found;
}
PAM_EXTERN int
pam_sm_authenticate(pam_handle_t *pamh, int flags __unused,
int argc __unused, const char *argv[] __unused)
{
return (pam_group(pamh));
}
PAM_EXTERN int
pam_sm_setcred(pam_handle_t * pamh __unused, int flags __unused,
int argc __unused, const char *argv[] __unused)
@ -128,4 +135,12 @@ pam_sm_setcred(pam_handle_t * pamh __unused, int flags __unused,
return (PAM_SUCCESS);
}
PAM_EXTERN int
pam_sm_acct_mgmt(pam_handle_t *pamh, int flags __unused,
int argc __unused, const char *argv[] __unused)
{
return (pam_group(pamh));
}
PAM_MODULE_ENTRY("pam_group");