- 安装brew,用mac自带的mac下载,去https://brew.sh/index_zh-cn.html 复制命令
- 安装vsftpd: brew install vsftpd
brew安装完vsftpd后会给出以下提示:
To use chroot, vsftpd requires root privileges, so you will need to run
sudo vsftpd
.
You should be certain that you trust any software you grant root privileges.The vsftpd.conf file must be owned by root or vsftpd will refuse to start:
sudo chown root /usr/local/etc/vsftpd.confTo have launchd start vsftpd now and restart at startup:
sudo brew services start vsftpd
Or, if you don’t want/need a background service you can just run:
sudo vsftpd运行命令:sudo chown root /usr/local/etc/vsftpd.conf
修改配置文件vsftpd.conf:
local_enable=YES
write_enable=YES- 新建一个用户:ftp1,并设置密码。mac中不能使用命令useradd,所以要到系统偏好设置->用户与群主 中新增用户。
- 启动vaftpd:sudo brew services start vsftpd
- 在/etc/shells中新增/bin/false和/sbin/nologin,这样可以允许ftp登录,禁止ssh登录,如果没有这个需要可以不用设置。
- 用ftp1登录,可能会报以下错误
- 缺少某一个log文件,新建一个文件即可
- 缺少/usr/share/empty,新建这个文件夹会遇到一个问题,就是系统不允许在/usr下面新建文件夹,要想解决这个问题比较麻烦一点。需要关闭 Rootless:
- 重启mac按住 Command+R,进入恢复模式,打开Terminal。
csrutil disable
重启即可。如果要恢复默认,那么
csrutil enable
- 重启mac按住 Command+R,进入恢复模式,打开Terminal。
10.重启vsftpd:sudo brew services restart vsftpd, 重新登录ftp1,报错:
331 Please specify the password. 530 Login incorrect.
解决方法:
- cd /etc/pam.d, 找到ftp server的名字,我找到的是ftpd。
在vsftpd.conf加上pam_service_name=ftpd
重启vsftpd
- 上述步骤完成之后就可以使用127.0.0.1访问该ftp服务器了。