1. 下载/安装

地址:https://pkgs.org/download/vsftpd

安装:
rpm -ivh vsftpd-3.0.2-25.el7.x86_64.rpm
vsftpd - 图1

2. 启动

启动服务:
systemctl start vsftpd
设置开机启动:
systemctl enable vsftp

验证启动:ftp://ip
vsftpd - 图2
(or: lsof -i:21)

3. 配置文件

相关配置文件:
主配文件:/etc/vsftpd/vsftpd.conf
下载目录:匿名用户:/var/ftp/ 本地用户:用户的根目录
FTP日志:/var/log/xferlog (tailf /var/log/xferlog)
vsftpd - 图3
cat vsftp.conf_bak | grep -v “#” > vsftp.conf
cat vsftp.conf -n

部分vsftpd.conf文件:

  1. # 允许匿名用户访问
  2. anonymous_enable=NO
  3. # 允许系统本地用户访问
  4. local_enable=YES
  5. # 本地系统本地用户写入权限
  6. write_enable=YES
  7. # 本地用户创建文件及目录默认权限掩码
  8. local_umask=022
  9. # 打印目录显示信息
  10. dirmessage_enable=YES
  11. # 上传/下载日志记录功能
  12. xferlog_enable=YES
  13. # 设定FTP使用20端口进行数据传输(ftp的数据传输接口)
  14. connect_from_port_20=NO
  15. # 设定vsftpd服务日志保存路径。(注意:该文件默认不存在,需手动创建)
  16. xferlog_file=/var/log/xferlog
  17. # 日志使用标准的记录格式
  18. xferlog_std_format=YES
  19. # 是否开启对本地用户chroot的限制,YES为所有默认用户都不能切出家目录,NO代表所有默认用户都可以切出家目录
  20. chroot_local_user=YES
  21. # chroot特例列表
  22. chroot_list_enable=YES
  23. chroot_list_file=/etc/vsftpd/chroot_list #此文件需手动创建,一行一个用户
  24. # 允许开启chroot后,对家目录有“写”权限
  25. allow_writeable_chroot=YES
  26. listen=YES
  27. listen_ipv6=NO
  28. # 启用pam模块验证(本地用户的登陆验证) /etc/pam.d/vsftpd
  29. pam_service_name=vsftpd
  30. # 是否开启userlist功能
  31. userlist_enable=YES
  32. userlist_file=/etc/vsftpd/user_list
  33. #定义对列表中的用户做定义:NO:拒绝所有人访问,仅列表中的用户可以访问,YES允许所有人访问,仅列表中的用户无法访问
  34. userlist_deny=YES
  35. #是否开启tcp_wrappers管理(/etc/hosts.allow 和/etc/hosts.deny)
  36. tcp_wrappers=YES
  37. # 开启PASV模式(被动模式)并限制PASV打开的端口的范围
  38. pasv_enable=YES
  39. pasv_min_port=4560
  40. pasv_max_port=4565

配置vsftp登录用户
添加FTP用户(指定根目录,指定默认登录shell为/sbin/nologin来禁止此用户登陆):
useradd -d /data/www/html -s /sbin/nologin ftptest
修改FTP用户登录密码:
passwd ftptest (ftp@resource)
vsftpd - 图4
可能会遇到账号登录提示 530 Login incorrect 的问题
/etc/pam.d/vsftpd文件
vsftpd - 图5

创建ftp用户时,为了禁止ssh登录,一般多为/bin/false 、/usr/sbin/nologin 等,显然不是一个有效的bash,因此无法登录
解决:将auth required pam_shells.so 修改为auth required pam_nologin.so

ftp客户端
安装yum -y install ftp

匿名用户操作vsftpd - 图6
默认 /var/ftp是没有写入权限的,需要修改权限才可写入
vsftpd - 图7


vsftpd - 图8
SAN 共享的是设备
vsftpd - 图9
vsftpd - 图10
vsftpd - 图11
vsftpd - 图12
vsftpd - 图13
vsftpd - 图14