如何在macOS上运行端口21的ftp服务器

3
我需要在MacOS上使用node.js和electron运行ftpserver,并使用simple-ftpd。它必须在端口21上运行,因为我不能更新设备的硬件参数。另外,所有低于1024的端口都被锁定。
我尝试使用pfctl将21端口重定向到1337端口,我的设备可以找到ftpserver,但是无法登录或写入它。
echo “rdr pass on en0 inet proto tcp from any to any port 21 -> 127.0.0.1 port 1337” | sudo pfctl -ef -

我不想在每次启动时都要求输入root密码。
我正在使用node 8、electron、simple-ftdp。
你们有什么建议吗?

我无法更新设备的硬件参数。你在谈论哪个设备?您是否有另一个仅连接到传出端口21的嵌入式设备?您的电子应用程序与simple-ftpd以及此电子应用程序之间的关系是什么?我假设您想提升simpleftpd的特权,但Electron与此有何关系?我不明白发生了什么。 - msanford
1
一种医疗设备只能连接到21号端口,我的电子应用程序作为嵌入式FTP服务器(simple-ftpd),我可以使用electron sudo升级它,但我不想每次用户运行应用程序时都要求root密码。 - JossVAMOS
1个回答

0

这个需要小心,但你可以允许用户通过添加 /etc/sudoers.d/myappconfig 来无需密码运行 sudo simple-ftpd

myuser ALL=(ALL) NOPASSWD: /usr/bin/path/to/simpleftp-d

如果不起作用或者你没有 /etc/sudoers.d/ 文件夹,你可以将那一行代码添加到 /etc/sudoers 中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接