De acordo com o meu entendimento, leafname é a última parte do nome do programa (sem incluir o /
)
por exemplo. Se você gostaria de executar /usr/local/bin/myproc
, o leafname é myproc
.
Para executar um programa na área reservada da porta - deve-se mudar o nome da folha para começar com !
por exemplo. /usr/local/bin/myproc
deve ser renomeado para /usr/local/bin/!myproc
Note: If there is no real reason for using ports < 1024 for non-system application, it would be preferred to use ports > 1024 for such application.
Algumas partes do código da código fonte do authbind
117 if (hport >= IPPORT_RESERVED/2) tophalfchar= "!";
137 snprintf(fnbuf,sizeof(fnbuf)-1,"byport/%s%u",tophalfchar,hport);
138 if (!access(fnbuf,X_OK)) authorised();
145 if (af == AF_INET) {
146 snprintf(fnbuf,sizeof(fnbuf)-1,"byaddr/%s%s:%u",tophalfchar,np,hport);
147 checkexecflagfile(fnbuf);
148 }
149
150 snprintf(fnbuf,sizeof(fnbuf)-1,"byaddr/%s%s,%u",tophalfchar,np,hport);
tophalfchar está definido para ser ! se hport is >= 1024/2
(1024/2 = 512)
O código está verificando o seguinte tipo de string:
- byport /! hport
- byaddr /! np: hport
- etc
Informações detalhadas sobre instalação do authbind / setup / testing