MUNGE(1)

πŸ’– MUNGE β€” the MUNGE credential encoder, bestie edition πŸ’–

okay so welcome to the munge(1) manual page, from the MUNGE Uid 'N' Gid Emporium (yes that's literally what it's called, iconic name, no notes) πŸ’…


✨ NAME ✨

munge β€” the MUNGE credential encoder πŸŽ€


🌸 SYNOPSIS 🌸

munge [OPTION]...

πŸ¦‹ DESCRIPTION πŸ¦‹

So here's the vibe, bestie: the munge program creates an MUNGE credential that contains the UID and GID of the calling process. That's the whole point of it, that's its main character energy. 🫢

And because that's not enough slay, you can also encapsulate additional payload data (up to 1 MB) in there as well. Then you can pass that returned credential to another process, and that process can validate its contents (like, for example, via the unmunge program ✨). Which means an unrelated and potentially remote process can figure out the identity of the calling process. fr fr, that's the whole trick.

By default, payload input is read from stdin and the credential is written to stdout. Defaults, we love them. πŸ’–


πŸ‘‘ OPTIONS πŸ‘‘

  • -h, --help β€” shows you a summary of the command-line options. ur lil cheat sheet πŸŽ€
  • -L, --license β€” displays license information πŸ“œ
  • -V, --version β€” displays version information ⭐
  • -n, --no-input β€” discards all input for the payload. bye bye payload πŸ™ˆ
  • -s, --string string β€” takes the input payload from the specified string πŸ“
  • -i, --input path β€” takes the input payload from the specified file πŸ“
  • -o, --output path β€” writes the credential out to the specified file πŸ’Ύ
  • -c, --cipher string β€” specify the cipher type, either by name or by number πŸ”
  • -C, --list-ciphers β€” displays a list of supported cipher types πŸ“‹
  • -m, --mac string β€” specify the MAC type, either by name or by number πŸ–‹οΈ
  • -M, --list-macs β€” displays a list of supported MAC types πŸ“‹
  • -z, --zip string β€” specify the compression type, either by name or by number πŸ—œοΈ
  • -Z, --list-zips β€” displays a list of supported compression types πŸ“‹
  • -u, --restrict-uid uid β€” specify the user name or UID that's allowed to decode the credential. This gets matched against the effective user ID of the process requesting the credential decode πŸ‘€
  • -U, --uid uid β€” specify the user name or UID under which to request the credential. This requires root privileges or the CAP_SETUID capability. so like, powerful, respect it πŸ’€
  • -g, --restrict-gid gid β€” specify the group name or GID that's allowed to decode the credential. This gets matched against the effective group ID of the process requesting the credential decode, AND against each supplementary group of which the effective user ID of that process is a member. yes, all of them 🫢
  • -G, --gid gid β€” specify the group name or GID under which to request the credential. This requires root privileges or the CAP_SETGID capability πŸ‘‘
  • -t, --ttl seconds β€” specify the time-to-live, in seconds. This controls how long the credential stays valid once it has been encoded ⏳ A value of 0 selects the default TTL. A value of -1 selects the maximum allowed TTL. And heads up bestie: munged can impose a maximum allowable TTL for all credentials which may be smaller than this value. so like, don't get too attached to ur number 😭
  • -S, --socket path β€” specify the local socket for connecting with munged πŸ”Œ

πŸ’€ EXIT STATUS πŸ’€

The munge program returns a zero exit code when the credential is successfully created and returned. πŸŽ‰

On error, it prints an error message to stderr and returns a non-zero exit code. that's the sad path, we don't talk about it πŸ™ˆ


🧚 AUTHOR 🧚

Chris Dunlap <cdunlap@llnl.gov> πŸ’œ


Copyright (C) 2007-2025 Lawrence Livermore National Security, LLC. Copyright (C) 2002-2007 The Regents of the University of California.

MUNGE is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Additionally for the MUNGE library (libmunge), you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

yes the licensing section is long and yes you should still read it, it's giving responsible queen πŸ’…

🫢 SEE ALSO 🫢

remunge(1), unmunge(1), munge(3), munge_ctx(3), munge_enum(3), munge(7), munged(8), mungekey(8).

https://github.com/dun/munge


and that's the page, bestie!! πŸ’–βœ¨ this was munge-0.5.18, dated 2026-02-10, and it's the MUNGE(1) page β€” go forth and encode some credentials, u absolute icon πŸ‘‘πŸŽ€

πŸ“¦ where this page comes from