![在 Centos 上使用非 root Glassfish 监听 80 端口](https://linux22.com/image/505457/%E5%9C%A8%20Centos%20%E4%B8%8A%E4%BD%BF%E7%94%A8%E9%9D%9E%20root%20Glassfish%20%E7%9B%91%E5%90%AC%2080%20%E7%AB%AF%E5%8F%A3.png)
我使用 Glassfish Stack 来管理应用程序。我在 CentOS 上以非 root 用户身份运行 Glassfish。因此我无法打开 80 端口,因为 1024 以下的端口只有 root 用户才能访问。
有一个解决方案可以在基于角色的访问控制(rbac)系统中为运行glassfish服务器的用户添加权限:
/usr/sbin/usermod -K defaultpriv=basic,net_privaddr *glassfish*
在 CentOS 中用户模式命令不包含 -K 选项来更改默认权限。但是,据我所知,CentOS 支持 RBAC。有没有解决方案可以让简单用户访问 1024 端口下的网络监听?
答案1
该 RBAC 命令/权限是 Solaris 特有的。
由于您使用的是 CentOS,我怀疑您使用的内核是否足够新(至少 2.6.24),是否支持涉及 setpcap 的最干净的解决方案。使用 iptables 重定向端口 80 可能是最好的选择。
供参考,请参阅stackoverflow 问题。