-
Notifications
You must be signed in to change notification settings - Fork 46
Auth Methods
MUNGE supports the following methods for authenticating the UID and GID of a client:
-
AUTH_METHOD_GETPEEREID
(AIX 5.2-ML4, Darwin, FreeBSD 4.6, NetBSD 5.0, OpenBSD 3.0)The server uses
getpeereid()
to determine the identity of the client connected across the Unix domain socket. -
AUTH_METHOD_GETPEERUCRED
(SunOS 5.10)The server uses
getpeerucred()
to determine the identity of the client connected across the Unix domain socket. The client's UID and GID are then obtained viaucred_geteuid()
anducred_getegid()
. -
AUTH_METHOD_SO_PEERCRED
(Linux)The server uses the
SO_PEERCRED
socket option to determine the identity of the client connected across the Unix domain socket. The client's UID and GID are then obtained from theucred
struct returned bygetsockopt()
. -
AUTH_METHOD_LOCAL_PEERCRED
(Darwin, FreeBSD, GNU/kFreeBSD)The server uses the
LOCAL_PEERCRED
socket option to determine the identity of the client connected across the Unix domain socket. The client's UID and GID are then obtained from thexucred
struct returned bygetsockopt()
. -
AUTH_METHOD_RECVFD_MKFIFO
(Irix, SunOS)The server creates a unique FIFO special file via
mkfifo()
and sends a request to the client for it to pass an open file descriptor back across this FIFO. The client creates a unique file and sends the open descriptor using theI_SENDFD
ioctl()
, whereby the server receives it using theI_RECVFD
ioctl()
. The identity of the client is then obtained from thestrrecvfd
struct used to receive the file descriptor. -
AUTH_METHOD_RECVFD_MKNOD
(AIX)The server creates a unique STREAMS-based pipe via
mknod()
and sends a request to the client for it to pass an open file descriptor back across this pipe. The client creates a unique file and sends the open descriptor using theI_SENDFD
ioctl()
, whereby the server receives it using theI_RECVFD
ioctl()
. The identity of the client is then obtained from thestrrecvfd
struct used to receive the file descriptor. The server requires root privileges in order to create this pipe.