macos - Mac 利用 pureftp 搭建 ftp 服务器失败?
问题描述:
方法一
参考一:https://www.eltyun.com/newsview?id=25492
参考二:https://www.ancii.com/azhljxp7w/
我的步骤
port sudo port install pure-ftpd
sudo /opt/local/sbin/pure-ftpd -A -j -Y 2 -p 30000:30009 -P 172.22.142.232
- 结果报错
pure-ftpd: invalid option -- Y 421 Unknown run-time option
- 结果报错
- 改成
sudo /opt/local/sbin/pure-ftpd -A -j -p 30000:30009 -P 172.22.142.232
- 没返回结果,应该成功了
- Safari 测试
172.22.142.232:21
,blank - Finder 测试
ftp://172.22.142.232
,(客人和注册用户我也不知道什么情况,选择了客人),连上了 - 第三方 Ftp 连接软件,用户名和密码不知道怎么填,感觉很奇怪,Finder 为什么有两个选项
问题
- 不知道 ftp 服务器储存的文件根目录在哪,网上查资料说 ftpuser 下,全部地方都找了没了,搜也搜不到
- 上传不了文件
- 我在网上搜索时看到有人说要开这个(详见参考二)
sudo -s launchctl load -w /System/Library/LaunchDaemons/ftp.plist
莫名其妙,我也没开
方法二 —— 利用 Docker
参考:chat-gpt
我的步骤
docker pull stilliard/pure-ftpd
- 运行以下代码
docker run -d \ --name myftp \ -p 21:21 \ -p 30000-30009:30000-30009 \ -e PUBLICHOST=localhost \ -e FTP_USER_NAME=myuser \ -e FTP_USER_PASS=mypassword \ -v /Users/本人用户名:/home/ftpusers/ftp \ stilliard/pure-ftpd
- Finder 无法连接、第三方 Ftp 连接软件也无法连接
第 1 个答案:
- brew安装了pure-ftpd后,应该是可以直接用
brew services start xxx
管理的。 - 安装好了之后,你应该去修改配置文件:/usr/local/etc/pure-ftpd.conf (可能是这个路径,我自己的mac很久没开机了,查证不了)
- 然后根据你的需要的配置去修改配置文件,配置文件上每个配置项都有说明,选择你要的几个设置一下就好了。
- 配置好了之后,使用brew services xxx 去启动pure-ftpd服务。
- 开始使用
===
我这里看发一下我之前用到过的配置:
AllowAnonymousFXP no AllowUserFXP no AltLog clf:/var/log/pureftpd.log AnonymousCanCreateDirs no AnonymousCantUpload no AnonymousOnly no AntiWarez yes AutoRename no BrokenClientsCompatibility no ChrootEveryone yes CustomerProof yes Daemonize yes DisplayDotFiles yes DontResolve yes ForcePassiveIP x.x.x.x LimitRecursion 10000 8 MaxClientsNumber 200 MaxClientsPerIP 100 MaxDiskUsage 99 MaxIdleTime 15 MaxLoad 8 MinUID 1000 NoAnonymous yes PAMAuthentication no PassivePortRange 63001 64001 PerUserLimits 200:400 ProhibitDotFilesRead no ProhibitDotFilesWrite no PureDB /etc/pure-ftpd/pureftpd.pdb SyslogFacility ftp Umask 022 UseFtpUsers no VerboseLog yes
这里会涉及到登录的就是PureDB /path/to/puredb.pdb
,需要指定用什么方式认证以及db数据来源,我这里是默认的PureDB,你可以看情况去做修改。
生成 puredb.pdb文件,需要用到pure-pw
pure-pwuseradd
。
===
最后,你可以看看连接时的错误日志,定位一下哪里出问题了。
由于全局解释器锁的存在,python3的多线程是伪并行的。现在看进程。如果一个CPU仅仅有4个核,我在设置pool的时候,设置Pool(5),此时,有5个并行的进程在同时运行,这个说法 ...