20200717 更新:
每次电脑重启之后需要执行:

1
2
3
brew services stop pure-ftpd
sudo /usr/local/sbin/pure-ftpd -lpam -B
brew services start pure-ftpd

ftp 才会生效。


因为小米手机的文件管理支持远程存储服务,早就想在自己的 Mac 上弄了,但是搜索了几次都失败了,昨晚半夜两点热得睡不着(好惨一男的),起床捣鼓,记录之。

手机文件管理支持远程存储列表

之前搜索的,无一例外,全是叫我输入如下所示的命令:

1
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist

但是看下面的消息,原文链接点这里

Apple removed the included File Transfer Protocol (FTP) server from recent versions of macOS. FTP is not secure by default and better avoided.
FTP is not secure because the connection is not encrypted. Modern network protocols are encrypted by default – even on local networks.

出于安全考虑,苹果官方已经把 ftp.plist移除了,解决办法是需要自己安装一个ftpd服务

homebrew就可以安装了,如果没有安装可以参考这里

1
2
brew install pure-ftpd
brew services start pure-ftpd

然后需要配置ftpd的验证,使之可以通过系统用户进行验证登录。
新建一个/etc/pam.d/pure-ftpd文件,记得用 root 权限编辑。

1
sudo vi /etc/pam.d/pure-ftpd

内容如下

1
2
3
4
5
# pure-ftpd: auth account password session
auth required pam_opendirectory.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so

然后让配置文件生效

1
sudo /usr/local/sbin/pure-ftpd -lpam -B

最后重启一下pure-ftpd服务:

1
brew services restart pure-ftpd

停止的命令是:

1
brew services stop pure-ftpd

这里是pure-ftpd官方文档,虽然很简单但。。。聊胜于无吧。

#汇总

如果出现任何问题,可以参考 pure-ftpd Connection refused localhost on high sierra,这个软件的相关文档真的很不完善,重复完成下述步骤应该就可以解决了,我也不知道为什么我出问题了,但是重装就解决了,这大概就是重启/重装解决 99%的问题的人生四大哲理吧。

1
2
3
4
5
6
brew services stop pure-ftpd
brew remove pure-ftpd
brew upgrade
brew cleanup
brew install pure-ftpd
sudo vi /etc/pam.d/pure-ftpd
1
2
3
4
5
# pure-ftpd: auth account password session
auth required pam_opendirectory.so
account required pam_permit.so
password required pam_deny.so
session required pam_permit.so
1
2
sudo /usr/local/sbin/pure-ftpd -lpam -B
brew services restart pure-ftpd

完。

真的很方便,直接在手机上存取了就。

手机连接ftp示意图

#参考链接