在MacOS上使用1024以下端口
MacOS和Linux一样,需要root权限使用低于1024以下端口。因此要在Mac机器上监听80端口或443端口,要么以root用户启动应用,要么使用端口转发。
在Linux系统中可以通过 sudo setcap cap_net_bind_service=+ep app name 来让非root用户使用1024以下端口(app name指要授权监听端口的程序)。
MacOS没有 setcap 命令,所以需要通过端口转发来达到目的。新版的MacOS操作系统使用pf(packet filter)设置端口转发。
⚠️注意,以下示例端口有重复。
示例一:
/etc/pf.anchors/http
示例二:
/etc/pf.anchors/tomcat
示例三:
/etc/pf.anchors/virtualbox
pf启动时会自动装载 /etc/pf.conf 文件,因此将anchor文件链接到 /etc/pf.conf ,转发规则就会自动建立了。 pf.conf 对指令的顺序有严格要求,相同的指令需要放在一起,否则会报错 Rules must be in order: options, normalization, queueing, translation, filtering.
pf默认是关闭的。可以使用以下命令启动pf:
使用 -e 命令启用 pf 服务。使用 -E 命令强制重启 pf 服务:
使用 -d 命令关闭 pf:
修改 LaunchDaemons ( 《了解LaunchDaemons》 )来使 pf 开机自动打开
添加的为-e参数,即enable。 有一点一定要注意,-f和 etc/pf.conf 这两个参数不能被打断,因为-f必须紧跟一个文件参数,所以说添加-e参数时不要打断-f参数,否则开机不会自动启动pf,切记。
如果需要跨接口转发,则需设置系统参数: /etc/sysctl.conf
开机启动配置,需以 root 身份添加或修改 /etc/sysctl.conf 文件,加入以下两行:
开启端口转发之后,即可配置端口转发规则。你可以跟着手册来:www.fafau.com
为什么安卓用1024以下端口要root?
如果系统要进行root操作最好使用软件辅助,比如360超级root这个工具就非常不错,可以试试
端口防封要root吗
端口防封要root。根据查询相关信息显示,端口防封需要root权限才能打开1024以下的端口,由于维护人员的错误配置或网络中的恶意攻击,网络中的合法根交换设备有可能会收到优先级更高的BPDU报文,使得合法根交换设备失去根交换设备的地位,引起网络拓扑结构的错误变动。这种不合法的拓扑变化,可能会导致原来应该通过高速链路的流量被牵引到低速链路上,造成网络拥塞。为了防止这种情况发生,可在交换设备上部署Root保护功能,通过维持指定端口的角色来保护根交换设备的地位。
为什么服务只能用root启动?
1可能以前你用root用户启动过,如果这样的话 要把weblogic目录下所有文件的属主都改成weblogic
chown -R weblogic:bea /weblogic
2可能你设置了受管server的端口是80端口,linux下1024以下的端口都要用root用户才能启动
linux下,小于1024的端口只有root用户可以操作吗? 如果是,那vsftpd这类的服务 为什么可以操作21号端口?
不是,1024之内的端口为标准保留的端口,而之外的是可以有用户自定义的端口。