Recursos do Linux não funcionam

1

Estou tentando usar Recursos do Linux para permitir um programa (httpd) ligar-se a uma porta privilegiada (443) como um usuário não privilegiado.

Eu configurei os recursos para o programa usando este comando:

setcap CAP_NET_BIND_SERVICE+eip httpd

Em seguida, verifiquei que o recurso foi definido com sucesso com ...

getcap httpd

que imprime ...

httpd = cap_net_bind_service+eip

Quando tento iniciar o programa, ele sai porque não pode se ligar à porta necessária. Eu descobri isso usando strace :

strace -f httpd revela "permissão negada, não pode ligar, encerrar":

...
write(2, "(13)Permission denied: AH00072: "..., 85(13)Permission denied: AH00072: make_sock: could not bind to address [redacted X.X.X.X]:443) = 85
close(3) = 0
write(2, "no listening sockets available, "..., 46no listening sockets available, shutting down
...

O que devo fazer para que os recursos do Linux funcionem corretamente e permitir que o programa seja vinculado a uma porta privilegiada?

Uma pesquisa rápida sugere que uma montagem com o sinalizador nosuid pode impedir que o recurso funcione e verifiquei que ele não está interferindo neste caso.

    
por Dylan Klomparens 23.02.2017 / 20:58

0 respostas

Tags