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:
- the address to which the caller wants the socket bound
- the port number to which the caller wants the socket bound
- the address family β and this one is omitted for IPv4, or is the fixed string
6for IPv6 π
now listen closely because this part is highkey specific π
addr4-hexandport-hexneed to be hex strings, without a leading0x, 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-hexis 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 π₯
helperexits with code0on success π yay!- if possible,
helperwill 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 toENOSYS(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
- debian bookworm: authbind 2.1.3
- debian trixie: authbind 2.2.0
- ubuntu jammy: authbind 2.1.3build1
- ubuntu noble: authbind 2.1.3build2
- ubuntu questing: authbind 2.2.0ubuntu1
- ubuntu resolute: authbind 2.2.0ubuntu2
- ubuntu stonking: authbind 2.2.0ubuntu2
- Copyright (C) 1998 Ian Jackson
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms