macOS上使用ftp
早期macOS(Yosemite)内建FTP服务
早期的Mac OS X实际上内置了FTP服务,只是默认没有启用。如果你的macOS版本是Yosemite(10.10.x)或更早版本,执行以下命令就可以开启FTP服务:
关闭命令则相反,将 load
改成 unload
:
在任何macOS系统中,启用系统配置中的
Sharing
设置的Remote Login
,就可以开启SSH服务,同时也就开启了SFTP服务。
新版本macOS安装配置brew提供FTP服务(放弃)
不过,在最新的macOS系统中,已经剔除了FTP服务。如果你依然需要使用,则需要使用 Homebrew 来安装一个名为 inetutils
的软件包。这个 inetutils
软件包包含了 rsh, rlogin, ftp, telnet 的客户端和服务器端。
注意,安装的客户端都有一个 g
开头字母(表示gnu):
这里有个问题,我找不到简单的启动方法。
新版本macOS安装配置vsftpd(推荐)
安装
安装完提示:
设置权限:
修改配置 vsftpd.conf
在系统中创建一个用户
ftp
并设置密码。mac中不能使用命令useradd,所以要到系统偏好设置->用户与群主 中新增用户。启动vsftpd
使用客户访问
报错处理
500 OOPS: failed to open vsftpd log file:/usr/local/var/log/vsftpd.log
解决:创建一个空目录 mkdir /usr/local/var/log/
500 OOPS: vsftpd: not found: directory given in 'secure_chroot_dir':/usr/share/empty
解决:缺少目录 /usr/share/empty
,这个目录默认系统是不允许在 /usr
下新建目录,需要关闭 Rootless ,然后创建完成后再恢复。
重启mac,安装 Command+R
,进入恢复模式。打开Termianl,执行:
然后重启,就可以修改 /usr
目录下文件。
注意:在macOS Catalina系统中,目录是只读文件系统,提示错误
参考 "Macintosh HD" is Read Only - MacOS Catalina 10.15 执行以下命令重新挂载目录:
然后再执行
处理完成后,需要恢复默认:
用户输入正确账号密码登陆,但是报错
530 Login incorrect.
解决方法:在 /etc/pam.d
目录下添加一个 ftpd
配置(早期macOS版本中提供内建FTP支持,就有这个文件)
然后重启vsftpd
参考
如何在mac上配置vsftpd - 非常详尽,vsftpd配置参考这个文档
Last updated