Applications/Munge
Application Details
- Description: It is an authentication service for creating and validating credentials. It is designed to be highly scalable for use in an HPC cluster environment like Viper.
- Version: 0.5.11
- Module: munge/0.5.11
- Licence: GNU
Usage Examples
This module provides the binary for munge and its library component to allow for compilation with external programs.
It allows a process to authenticate the UID and GID of another local or remote process within a group of hosts having common users and groups. These hosts form a security realm that is defined by a shared cryptographic key. Clients within this security realm can create and validate credentials without the use of root privileges, reserved ports, or platform-specific methods.
Module
[username@login01 ~]$ module add munge/0.5.11
Compilation
A C code snippet requiring is shown below:
#define MUNGE_H
#include <sys/types.h>
/*****************************************************************************
* Data Types
*****************************************************************************/
/* MUNGE context opaque data type
*/
typedef struct munge_ctx * munge_ctx_t;
/* MUNGE context options
*/
typedef enum munge_opt {
MUNGE_OPT_CIPHER_TYPE = 0, /* symmetric cipher type (int) */
MUNGE_OPT_MAC_TYPE = 1, /* message auth code type (int) */
MUNGE_OPT_ZIP_TYPE = 2, /* compression type (int) */
MUNGE_OPT_REALM = 3, /* security realm (str) */
MUNGE_OPT_TTL = 4, /* time-to-live (int) */
MUNGE_OPT_ADDR4 = 5, /* src IPv4 addr (struct in_addr) */
MUNGE_OPT_ENCODE_TIME = 6, /* time when cred encoded (time_t) */
MUNGE_OPT_DECODE_TIME = 7, /* time when cred decoded (time_t) */
MUNGE_OPT_SOCKET = 8, /* socket for comm w/ daemon (str) */
MUNGE_OPT_UID_RESTRICTION = 9, /* UID able to decode cred (uid_t) */
MUNGE_OPT_GID_RESTRICTION = 10 /* GID able to decode cred (gid_t) */
} munge_opt_t;
...
Compilation is carried out below, in this example the gcc compiler is used. However, the applies similarly to the Intel compiler too.
Applications written in C/C++ can use the interface provided by <munge.h> and link against libmunge.
Scripts can invoke the munge and unmunge executables -- specify -h or --help for usage information, or Read The Fine Manpages.
gcc -o makeMUNGE makeMUNGE.c -llibmunge
Further Information
| |