VSFTP 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。vsftpd是一款在linux发行版本中最受推崇的FTP服务器程序。
特点是小巧轻快,安全易用。
FTP模式:ftp主动模式(port):21(验证,握手),20(数据传输)
ftp被动模式(pasv):21(验证,握手),1024-65535(数据传输),一般的FTP服务器都采用此模式作为默认模式
FTP的客户端:命令行客户端:ftp/lftp(可以兼容shell的快捷操作)/sftp图形工具: IE/firefox/cute-ftp/filezilla(win/linux)
查看是否装包:
[root@desktopx ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64
安装软件:
yum install vsftpd[root@desktopx ~]# rpm -ql vsftpd
/etc/logrotate.d/vsftpd ----日志轮转
/etc/pam.d/vsftpd ----pam模块验证
/etc/vsftpd ----配置目录
/etc/vsftpd/ftpusers ----访问控制列表
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf ----主配置文件
/usr/lib/systemd/system/vsftpd.service ----启动脚本
/usr/sbin/vsftpd ----二进制命令
/var/ftp ----匿名用户的默认家目录
/var/ftp/pub ----匿名用户的公共目录
systemctl restart vsftpd
查看连接端口:
[root@desktopx ~]# netstat -tnpl |grep :21
tcp6 0 0 :::21 :::* LISTEN 4774/vsftpd
yum install ftp lftp ----安装ftp客户端
iptables -F ----清空防火墙
setenforce 0
实例1:关闭匿名用户登录
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=NO - ---是否允许匿名用户访问
测试:使用网页访问ftp://172.16.0.X 否使用命令的客户端访问:
创建一个本地用户:
useradd ftp01 ----创建用户
echo 123 |passwd --stdin ftp01 ----授予密码
ftp 172.16.0.X
ftp01 ----用户
123 ----密码
实例2:关闭本地用户登录,开启匿名用户登录
anonymous_enable=YESlocal_enable=NO ----是否开启本地用户
测试:
网页 可登陆
本地 不可登录
[root@desktopx ~]# ftp 172.16.0.251
Connected to 172.16.0.251 (172.16.0.251).
220 (vsFTPd 3.0.2)
Name (172.16.0.251:root): ftp01
530 This FTP server is anonymous only. ----仅支持匿名用户登录
Login failed.
ftp>
ftp> user anonymous ----匿名用户登录
331 Please specify the password.
Password: ----回车,不输入密码
230 Login successful.
ftp> ls
227 Entering Passive Mode (172,16,0,251,196,29).
150 Here comes the directory listing.
drwxr-xr-x 5 0 0 78 Mar 27 10:29 pub
226 Directory send OK.
ftp>
实例3:本地用户的写权限
local_enable=YESwrite_enable=NO
[root@desktopx ~]# ftp 172.16.0.251
Connected to 172.16.0.251 (172.16.0.251).
220 (vsFTPd 3.0.2)
Name (172.16.0.251:root): ding
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.