Компилирую такую программу:
package main
import (
"flag"
"log"
"net"
)
var addr = flag.String("http", ":443", "")
func main() {
_, err := net.Listen("tcp", *addr)
if err != nil {
log.Fatal(err)
}
}
Делаю ей setcap 'cap_net_bind_service=+ep'
Запускаю.
А оно мне: listen tcp :443: bind: permission denied
Что за фигня? ЧЯДНТ?
В логах strace имеется следующее:
bind(4, {sa_family=AF_INET6, sin6_port=htons(443), inet_pton(AF_INET6, "::", &sin6_addr), sin6_flowinfo=0, sin6_scope_id=0}, 28) = -1 EACCES (Permission denied)