Я хотел авторизовать порт 992,
, при чтении документации сказано, что
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 [ ! d4]
Я не мог понять, что такое имя листа, указанное здесь, поэтому я не могу аутентифицировать порт 992, как это сделать?
Согласно моему пониманию, имя листа - это последняя часть имени программы (не включая /)
, например. если вы хотите выполнить /usr/local/bin/myproc, имя leafname равно myproc.
Чтобы выполнить программу в зарезервированной области порта - нужно изменить имя листа, чтобы начать с !
например /usr/local/bin/myproc следует переименовать в /usr/local/bin/!myproc
Примечание: если нет реальной причины для использования портов & lt; 1024 для несистемного приложения, было бы предпочтительнее использовать порты> 1024 для такого приложения.Некоторые фрагменты кода из исходного кода 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 установлен как ! если hport is >= 1024/2 (1024/2 = 512)
Код проверяет следующий тип строк:
byport /! hport byaddr /! np: hport и т. д. [!d18 ]Подробная информация об установке / установке / тестировании authbind
Согласно моему пониманию, имя листа - это последняя часть имени программы (не включая /)
, например. если вы хотите выполнить /usr/local/bin/myproc, имя leafname равно myproc.
Чтобы выполнить программу в зарезервированной области порта - нужно изменить имя листа, чтобы начать с !
например /usr/local/bin/myproc следует переименовать в /usr/local/bin/!myproc
Примечание: если нет реальной причины для использования портов & lt; 1024 для несистемного приложения, было бы предпочтительнее использовать порты> 1024 для такого приложения.Некоторые фрагменты кода из исходного кода 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 установлен как ! если hport is >= 1024/2 (1024/2 = 512)
Код проверяет следующий тип строк:
byport /! hport byaddr /! np: hport и т. д.Подробная информация об установке / установке / тестировании authbind
Согласно моему пониманию, имя листа - это последняя часть имени программы (не включая /)
, например. если вы хотите выполнить /usr/local/bin/myproc, имя leafname равно myproc.
Чтобы выполнить программу в зарезервированной области порта - нужно изменить имя листа, чтобы начать с !
например /usr/local/bin/myproc следует переименовать в /usr/local/bin/!myproc
Примечание: если нет реальной причины для использования портов & lt; 1024 для несистемного приложения, было бы предпочтительнее использовать порты> 1024 для такого приложения.Некоторые фрагменты кода из исходного кода 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 установлен как ! если hport is >= 1024/2 (1024/2 = 512)
Код проверяет следующий тип строк:
byport /! hport byaddr /! np: hport и т. д.Подробная информация об установке / установке / тестировании authbind