我有 Ubuntu 16.04 和 Squid。它现在配置为在端口 8080 上运行,一切正常。但我希望它在端口 80 上监听。据我所知,要使用低于 1024 的端口,它必须以 root 身份运行。
那么如何以 root 身份运行它?我使用service squid start
命令来运行它,不知道如何让它以 root 身份运行。
答案1
不建议在端口 80 上运行 squid。请参阅http://docs.huihoo.com/gnu_linux/squid/html/x505.html例如为什么。
在 Ubuntu 上,我希望您通过绑定套接字而不是通过改变权限或 iptables 来执行此操作...
sudo apt-get install libcap2-bin
sudo setcap 'cap_net_bind_service=+ep' /path/to/squid
看看man capabilities
....
CAP_NET_BIND_SERVICE
Bind a socket to Internet domain privileged ports (port numbers less than 1024).