OIDENTD(8)

πŸ“¦
version 3.1.0 Β· 5 versions
, in alpine 3.22, alpine 3.23, alpine 3.24, arch rolling, nixos 26.05, nixpkgs unstable, opensuse-leap 16.0

πŸ¦‹ oidentd β€” the flexible, RFC 1413 compliant Ident daemon with NAT support, bestie

okay so this page is oidentd(8) from the oidentd User Manual, and it's genuinely iconic β€” it's the Ident daemon that eats and leaves no crumbs. let me walk you through it 🫢


✨ SYNOPSIS ✨

oidentd [OPTIONS]

that's it. that's the whole vibe. πŸ’…


🌸 DESCRIPTION 🌸

so oidentd implements the Identification Protocol, exactly as described in RFC 1413 β€” no cap, it's literally in the spec.

by default, oidentd replies with the username of the owner of connections. that's the default behavior, bestie. but you can absolutely alter it in oidentd.conf(5), or by using the options listed down below. main character energy, honestly. ✨


πŸŽ€ OPTIONS πŸŽ€

  • -a, --address=ADDRESS β€” bind to the specified address. this makes oidentd listen for incoming connections only on the address (or addresses) you name, instead of on all interfaces. you can pass this option more than once if you've got multiple addresses to configure. πŸ’œ
  • -c, --charset=CHARSET β€” tells clients that Ident replies use the specified character set, as defined in RFC 1340 or its successors. the default is to not send a character set to clients at all. πŸ™ˆ
  • -C, --config=FILE β€” use the specified system-wide configuration file. if you don't give this option, oidentd defaults to /usr/local/etc/oidentd.conf. the format of the system-wide config file is described over in oidentd.conf(5). πŸ“„
  • -d, --debug β€” show debug messages, including detailed lookup information that's genuinely useful for diagnosing issues with failed lookups. ⚠️ only available if oidentd was compiled with debugging support.
  • -e, --error β€” hide error messages, returning UNKNOWN-ERROR for all errors. this includes the NO-USER, HIDDEN-USER and INVALID-PORT errors. this option may be used to conceal the fact that oidentd is hiding Ident responses for a user. sneaky sneaky 🀫
  • -f, --forward=[PORT] β€” forward requests for hosts masquerading through the server oidentd is running on, to the host that established the corresponding connection. the target host must be running oidentd with the --proxy option, or some Ident server returning static responses regardless of the query. if no port is specified, the default Ident port (113) is used. if forwarding fails, oidentd falls back to the response specified in oidentd_masq.conf(5). this option implies --masquerade. and the --masquerade-first option can be used to forward queries only if no response was specified in oidentd_masq.conf(5). πŸ”₯
  • -g, --group=GROUP|GID β€” run as the specified group or GID. if this option isn't given, oidentd falls back to running as "oidentd", "nobody", "nogroup" or GID 65534, in this order. on systems that require oidentd to run as the superuser, a warning is shown and the group is not changed automatically. πŸ’€
  • -h, --help β€” print a summary of options and exit. the classic. 🫢
  • -i, --foreground β€” do not fork to background. this one's useful for debugging, or for running oidentd from a service manager like systemd(1) with Type=simple. ✨
  • -I, --stdio β€” read a single Ident query from standard input, write the response to standard output, then exit. useful for debugging, or when running oidentd from a listener daemon such as xinetd(8). πŸŽ€
  • -l, --limit=MAX β€” limit the maximum number of concurrent connections to the specified value. further connections beyond this limit will be closed immediately without spawning a new process. if you don't specify this option, no limit is enforced. 🌈
  • -m, --masquerade β€” enable support for NAT connections, allowing Ident lookups intended for hosts masquerading through the server running oidentd. Ident responses for NAT connections can be configured in the oidentd_masq.conf(5) configuration file. πŸ¦‹
  • -M, --masquerade-first β€” if an entry matching the target host exists in the oidentd_masq.conf(5) configuration file, return the configured Ident response instead of forwarding the query. with this option, queries are forwarded only if no static response has been configured. if this option isn't specified, the default behavior of --forward is to forward queries before checking the oidentd_masq.conf(5) file. this option implies --forward and --masquerade. πŸ‘‘
  • -o, --other=[OS] β€” set an alternative operating system string to send alongside Ident responses. heads up though: some clients may interpret queries as having failed when an unknown operating system is returned. πŸ’€ if this option isn't specified, the value UNIX is used. if this option is specified without an argument, OTHER is returned. πŸ“
  • -p, --port=PORT β€” listen on the specified port instead of port 113. πŸ’…
  • -P, --proxy=ORIGIN β€” allow the specified host to forward queries to this instance using the --forward option. if --reply isn't specified, this option must be enabled for oidentd to correctly handle forwarded connections. πŸ”₯
  • -q, --quiet β€” suppress normal logging, showing only critical messages. 🀫
  • -r, --reply=REPLY β€” when a lookup fails, send the specified Ident response as if it had succeeded. iconic fake-it-till-you-make-it behavior. ✨
  • -R, --reply-all=REPLY β€” send the specified reply in response to all well-formed queries. when this option is used, the configuration files are not read and connection lookups are never performed. privileged initialization is not performed on systems that would otherwise require it, so unprivileged users can run oidentd with this option as long as they have permission to bind the requested port. 🌟
  • -S, --nosyslog β€” log messages to the standard error stream, even if it isn't a terminal. if standard error is a terminal, messages are written to it by default. 🧚
  • -t, --timeout=SECONDS β€” close connections if no Ident query is received within the specified number of seconds. by default, connections are closed after 30 seconds. ⏰
  • -u, --user=USER|UID β€” run as the specified user or UID. if this option isn't given, oidentd falls back to running as "oidentd", "nobody" or UID 65534, in this order. on systems that require oidentd to run as the superuser, a warning is shown and the user is not changed automatically. πŸ’œ
  • -v, --version β€” print version and build information and exit. ✨

🌟 FILES 🌟

  • /usr/local/etc/oidentd.conf β€” system-wide configuration file; see oidentd.conf(5). πŸ’–
  • ~/.config/oidentd.conf, ~/.oidentd.conf β€” user configuration files; see oidentd.conf(5). πŸŽ€
  • /usr/local/etc/oidentd_masq.conf β€” masquerading configuration file; see oidentd_masq.conf(5). πŸ¦‹

πŸ‘‘ AUTHOR πŸ‘‘

Janik Rabe <info@janikrabe.com> https://janikrabe.com

originally written by Ryan McCabe. 🫢


πŸ’€ BUGS πŸ’€

please report any bugs to Janik Rabe <info@janikrabe.com>. be nice about it, bestie. πŸ™ˆ


🌈 SEE ALSO 🌈

oidentd.conf(5) oidentd_masq.conf(5)


and that's the whole page, bestie β€” you ate that. πŸ’…βœ¨ this was oidentd 3.1.0, dated the OIDENTD(8) manual page, and it's giving "I read the docs and I understood the docs." periodt. πŸŽ€πŸ’–