1、简介
FTP服务进程(Very Secure FTP daemon,Vsftpd),Vsftpd在Unix/Linux发行版中最主流的FTP服务器程序,优点小巧轻快,安全易用、稳定高效、满足企业跨部门、多用户的使用(1000用户)等。非常安全。
软件包:vsftpd
FTP端口:21(建立连接); 22 (传输数据)
2、vsftpd 服务器配置
FTP Server(服务端)实验环境:关闭防火墙、selinux、2台机器
默认共享目录位置:/var/ftp
注意:共享目录权限
① vsftpd 服务器配置
(1)基本配置+文件夹、文件
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
yum install -y vsftpd (安装vsftpd)
systemctl start vsftpd (启动)
systemctl enable vsftpd (开机启动)
ss -ntpl (查看21端口是否开启)
ps aux | grep vsftpd (查看进程情况)
mkdir -p /var/ftp/upload (创建自己的共享目录)
touch /var/ftp/upload/test.txt (创建文件到共享目录)
(2)基本权限+编辑配置文件
cd /var/ftp/
chown -R ftp.ftp * (修改属主、组权限,不然不能修改和访问)
vim /etc/vsftpd/vsftpd.conf (编辑配置文件)
systemctl restart vsftpd (重启服务)
如果:配置文件中 anonymous_enable=YES (是否允许匿名用户登录ftp) 即可直接访问FTP服务器,局域网可采用此方式。如果是联网状态传输文件,安全性较差,需采用加密方式传输。
② ftp 配置本地用户登录
(1)创建测试用户
测试用户:zhangsan、lisi 设置密码:123456
useradd zhangsan
useradd lisi
echo '123456' | passwd --stdin zhangsan
echo '123456' | passwd --stdin lisi
(2)本地用户ftp配置文件:
mkdir -p /data/ftp/{zhangsan,lisi}
chmod 750 /data/ftp/zhangsan /data/ftp/lisi
chown zhangsan /data/ftp/zhangsan
chown lisi /data/ftp/lisi
touch /etc/vsftpd/chroot_list
vim /etc/vsftpd/vsftpd.conf (编辑配置文件)
anonymous_enable=NO
#将允许匿名登录关闭
#anon_umask=022
#匿名用户所上传文件的权限掩码
#anon_upload_enable=YES
#允许匿名用户上传文件
#anon_mkdir_write_enable=YES
#允许匿名用户创建目录
#anon_other_write_enable=YES
#是否允许匿名用户有其他写入权(改名,删除,覆盖)
chroot_local_user=YES (禁锢,锁死,不能随意更换位置)
chroot_list_enable=YES
#启用限制登陆用户在主目录里面
(default follows)
chroot_list_file=/etc/vsftpd/chroot_list
#文件不存在,touch /etc/vsftpd/chroot_list
#是否禁锢在主目录,在文件列表中的用户表示不禁锢,可以访问主目录之外的目录。
allow_writeable_chroot=YES
#允许限制的用户对目录有写权限
local_root=/data/ftp
设置本地用户的FTP根目录
local_max_rate=0 (默认不限速)
限制最大传输速率(字节/秒)0为无限制
vim /etc/vsftpd/chroot_list
zhangsan
systemctl restart vsftpd (重启vsftpd)
③vsftpd 加密传输(互联网传输)
(1)生成自签名证书:
先设置域名:DOMAIN=wang2303
(2)编辑命令
编辑以下命令即可生成加密证书(内容包含公私钥)
openssl req -new -x509 -nodes -out /etc/vsftpd/vsftpd.pem -keyout /etc/vsftpd/vsftpd.pem -days 3650 -subj "/C=CN/ST=guangdong/L=shenzhen/O=${DOMAIN}/OU=${DOMAIN}.com/CN=${DOMAIN}.com/emailAddress=admin@${DOMAIN}.com" >& /dev/null
ll /etc/vsftpd/vsftpd.pem (自动生成此文件)
(3)启用自签名证书加密:
vim /etc/vsftpd/vsftpd.conf (增加以下内容)
ssl_enable=YES
ssl_tlsv1=YES
ssl_sslv3=YES
force_local_logins_ssl=YES
force_local_data_ssl=YES
rsa_cert_file=/etc/vsftpd/vsftpd.pem