O que é leafname na porta authbind?

3

Eu queria autenticar a porta 992,

enquanto lê a documentação, diz-se que

PORTS 512-1023

   Authorising binding  to  ports  from  512  to  1023  inclusive  is  not
   recommended.  Some protocols (including some versions of NFS) authorise
   clients by seeing that they are using a port number in this range.   So
   by  authorising  a program to be a server for such a port, you are also
   authorising it to impersonate the whole host for those protocols.

   To make sure that this isn't done  by  accident,  if  the  port  number
   requested is in the range 512-1023, authbind will expect the permission
   files to have an additional !  at the start of their leafname.

Ref: authbind

Não consegui entender o que é leafname especificado aqui, portanto, não consigo autenticar a porta 992, como faço isso?

    
por Arun Xavier 01.06.2017 / 13:46

1 resposta

2

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

helper.c

 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

    
por Yaron 01.06.2017 / 13:53