Squid 以 root 身份运行(以便在 80 端口上使用)

Squid 以 root 身份运行(以便在 80 端口上使用)

我有 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).

相关内容