AUTHBIND-HELPER(8)

πŸ’– AUTHBIND-HELPER(8) πŸ’–

okay bestie, welcome to the authbind-helper page from the Debian Linux manual ✨ this one's a little gremlin that lives in your filesystem and does one very specific, very iconic job πŸŽ€


✨ NAME ✨

authbind-helper β€” the helper program that binds sockets to privileged ports without root πŸ‘‘

like... it just does that. no sudo required. slay.


πŸ¦‹ SYNOPSIS πŸ¦‹

/usr/lib/authbind/helper addr4-hex port-hex <socket
/usr/lib/authbind/helper addr6-hex port-hex 6 <socket

πŸ’… DESCRIPTION πŸ’…

okay so helper is the program that libauthbind uses, and libauthbind is in turn used by authbind, and the whole point of the entire girlgang is to let programs that do not run as root β€” or honestly should not run as root β€” bind to low-numbered ports in a controlled way 🫢 see authbind(1) for the tea.

but here's the thing, bestie: it can also be used standalone, like, without any assistance from authbind at all. main character energy fr fr. in that case its standard input should be a TCP/IP socket, and you should pass it two or three arguments πŸ’–

the arguments are:

  1. the address to which the caller wants the socket bound
  2. the port number to which the caller wants the socket bound
  3. the address family β€” and this one is omitted for IPv4, or is the fixed string 6 for IPv6 🌈

now listen closely because this part is highkey specific 😭

  • addr4-hex and port-hex need to be hex strings, without a leading 0x, of exactly the right length β€” that's 8 digits for the address and 4 digits for the port. like, exactly. not more, not less. it's giving precise πŸ’€
  • each pair of hex digits represents one byte of the address or port number, expressed in host byte order.
  • for example, the port argument is the result of something like:
sprintf(arg, "%04X", sin.sin_port)
  • addr6-hex is a string of 32 hex digits β€” a pair for each byte in the address β€” and this one is in network byte order instead. different vibe, same energy ⭐

πŸ”₯ EXIT STATUS πŸ”₯

  • helper exits with code 0 on success πŸ’– yay!
  • if possible, helper will return an appropriate errno value as its exit status. iconic behaviour honestly.
  • if that's not possible, it may exit with status 255, or with an exit status corresponding to ENOSYS (Function not implemented) 😭 not the ENOSYS jump scare.

πŸ‘‘ ACCESS CONTROL πŸ‘‘

see authbind(1) for the details of the access control regime that helper implements. it's all in there, bestie, go read it πŸ“–


🌸 SEE ALSO 🌸


πŸ’œ AUTHOR πŸ’œ

authbind and this manpage were written by Ian Jackson. they are Copyright (C)1998,2012 by him and released under the GNU General Public Licence; there is NO WARRANTY. see /usr/doc/authbind/copyright and /usr/doc/copyright/GPL for the details 🫢


and that's the whole page, bestie!! πŸŽ€ it's from the Debian Project and it's dated 30th August 1998 β€” yes, a literal 90s icon, older than most of us and still out here binding privileged ports without root πŸ’…βœ¨ bye pookie πŸ¦‹

πŸ“¦ where this page comes from