【发布时间】:2013-05-22 05:58:55
【问题描述】:
我已下载 Moovweb SDK 并将其安装在我的计算机上。
我运行 moov login 并输入了我的凭据。
我使用moov generate example example.com生成了一个项目
为什么我需要输入sudo moov server --auto-hosts?
它需要超级用户访问权限在做什么?
【问题讨论】:
标签: moovweb
我已下载 Moovweb SDK 并将其安装在我的计算机上。
我运行 moov login 并输入了我的凭据。
我使用moov generate example example.com生成了一个项目
为什么我需要输入sudo moov server --auto-hosts?
它需要超级用户访问权限在做什么?
【问题讨论】:
标签: moovweb
您需要 root 访问权限才能运行使用端口 80 或任何低于 1024 的端口的服务。
这是 linux 内核安全功能。
更多详细信息:
"Why can only root listen to ports below 1024?" at Mikael Ståldal’s blog
解决方案 1:
如果您不想每次都输入 root 密码或通过脚本自动执行此类任务 - 学习使用 sudoers。
HowTO: Sudoers Configuration at ubuntuforums.org
解决方案 2:
端口限制在内核源代码中定义,在include/net/sock.h 文件中。
/* Sockets 0-1023 can't be bound to unless you are superuser */
#define PROT_SOCK 1024
要在您的桌面上更改此设置(不建议在服务器上使用)- 您可以编译新内核,将PORT_SOCK 设置为79 以解锁非root 用户的80 端口,或将其设置为0 以解锁所有端口。
【讨论】:
它在端口80 或443 中启动服务器,这需要root 权限。
【讨论】: