单声道:是否可以在没有root的情况下在端口80上运行服务?

Ami*_*iri 4 c# linux mono servicestack

有没有办法让应用程序在端口80上运行而不必强制以root身份运行它?

我不想以root身份运行该进程,因为这是不安全的,我想使用端口80.我不想在应用程序前面使用代理.

例如Apache以root身份启动并删除权限,有没有办法在Mono中实现这一点?

对于上下文我正在运行ServiceStack,但我一般也会问.

Ami*_*iri 7

好吧,我终于用authbind完成了这个

工作就像一个魅力.唯一需要注意的是你必须使用--deep开关,因为mono实际上运行另一个进程.这是一个令人烦恼的陷阱,浪费了一个小时左右.

所以最终命令看起来像:

sudo -u myapp authbind --deep ./MyApp.exe

我使用了autid绑定的uid方法,所以这是配置:

在/ etc/authbind/byuser/999:

0.0.0.0,80-89
Run Code Online (Sandbox Code Playgroud)

最重要的是,尝试在Mono环境中找到这个问题的答案是徒劳的 - 只需在搜索中替换"Mono","Java"Java/Tomcat的解决方案也适用于Mono.