linux下普通用户如何使用80端口启动程序
·
1 分钟阅读
·
Linux
默认情况下,Linux 的 1024 以下端口只有 root 用户才有权限占用,这会导致 tomcat、apache、nginx 等程序用普通用户启动时抛出 permission denied 异常。
解决办法有两种:
1. 使用非 80 端口启动,通过 iptables 做端口转发
2. 为可执行文件赋 setuid 权限
假设需要启动 nginx,步骤如下:
首先查看 nginx 的权限描述:
ls -l nginx
输出:-rwxr-xr-x 1 nginx dev 2408122 Sep 5 16:01 nginx
这个时候无法正常启动。
修改文件所属用户为 root:
chown root nginx
然后加上 setuid(s)权限:
chmod u+s nginx
再次查看权限描述:
ls -l nginx
输出:-rwsr-xr-x 1 root root 2408122 Sep 5 16:01 nginx
这个时候再启动就没问题了。
参考:http://bbs.chinaunix.net/thread-2212303-2-1.html
#nginx
#apache
#iptables
#tomcat
相关文章
-
使用iptables-save导出防火墙规则到文件,再用iptables-restore恢复。将恢复命令写入/etc/init.d/boot.local可实现重启后自动加载规则。
Linux · 1 分钟阅读
-
“用iptables实现NAT端口映射和透明代理,通过PREROUTING做目标地址转换,POSTROUTING实现源地址伪装,配合ip_forward启用路由转发,可将外网端口映射到内网服务器。”
Linux · 2 分钟阅读
-
iptables 防火墙的实操配置笔记,包括 filter 表、NAT 表的规则设置、端口开放、状态匹配等
Linux · 4 分钟阅读
-
整理 BIOS/UEFI 固件接口标准、MBR/GPT 分区表、Legacy/UEFI 启动方式,以及 ESP 系统分区、引导程序等相关概念的对比和说明。
Linux · 11 分钟阅读