1 | yum install gcc gcc-c++ libcap libcap-devel pam-devel tcp_wrappers tcp_wrappers-devel |
下载 vsftpd-3.0.5
https://fossies.org/linux/misc/vsftpd-3.0.5.tar.gz/
1 | mkdir -p /usr/local/vsftpd/{conf,conf/user,bin,lib,empty} |
1 | make |
1 | # vim /usr/lib/systemd/system/vsftpd.service |
**配置 vsftpd.conf **
1 | # 去掉所有的注释行及空行 |
vim /usr/local/vsftpd/conf/vsftpd.conf
1 | anonymous_enable=YES |
1 | #匿名用户根目录 |
1 | # 锁定用户根目录,不能切换到其他目录 |
1 | pasv_enable=YES #开启被动模式 |
目录权限
ftp服务器的根目录必须是755,不能是777权限,权限太大,而且用户属主必须是 root
1 | chmod 755 /var/ftp |
匿名用户可以操作的目录,需要在 ftp 根目录下创建一个上传目录
1 | mkdir /var/ftp/pub |
认证
登录 FTP 有三种方式
匿名登录:在登录FTP时使用默认的用户名,一般是ftp或anonymous
本地用户登录:使用系统用户登录,/etc/passwd 中的用户。
虚拟用户登录:FTP 专有用户,两种方式实现虚拟用,本地数据文件和数据库服务器
本地数据文件
一行用户名,一行密码。奇数行为用户名,偶数行为密码。
1 | dnf install -y libdb-utils |
1 |
|
1 | vim /etc/pam.d/vsftpd |
1 | [root@localhost ftp]# ldd /usr/local/vsftpd/bin/vsftpd |
1 | ## 映射虚拟用户 |
1 | # 注意文件属主 |
配置文件
1 | vim /usr/local/vsftpd/conf/vsftpd.conf |
1 | anonymous_enable=YES |