yum install vsftpd -y
进入/etc/vsftpd目录,查看相应文件
cd /etc/vsftpd/
ll
启动ftp服务,并查看运行状态
systemctl start vsftpd.service
systemctl status vsftpd.service
systemctl enable vsftpd.service
查看ftp服务监听的端口
netstat -antup |grep ftp
vim /etc/vsftpd/vsftpd.conf
编辑配置文件时,先备份
cp -p vsftpd.conf vsftpd.conf.bak
1 #是否开启匿名用户 #小写d大写G清空文件内容
2 anonymous_enable=YES
3 #是否开启本地用户
4 local_enable=YES
5 #是否开启写入功能
6 write_enable=YES
7 #匿名用户是否支持上传内容
8 anon_upload_enable=YES
9 #匿名用户是否支持创建目录
10 anon_mkdir_write_enable=YES
11 #匿名用户是否支持其他权限
12 anon_other_write_enable=YES
13 #开启日志功能
14 xferlog_enable=YES
15 #监听IPv4
16 listen=NO
17 #监听Ipv4和Ipv6
18 listen_ipv6=YES
19 #关闭被动模式 (主动模式的两个主要参数)
20 pasv_enable=NO
21 #主动模式使用的端口号
22 connect_from_port_20=YES
~
防火墙放通ftp服务,并重新加载
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
修改vsftpd.conf配置文件。
被动模式
#是否开启匿名用户
anonymous_enable=YES
#是否开启本地用户
local_enable=YES
#是否开启写入功能
write_enable=YES
#匿名用户是否支持上传内容
anon_upload_enable=YES
#匿名用户是否支持创建目录
anon_mkdir_write_enable=YES
#匿名用户是否支持其他权限
anon_other_write_enable=YES
#开启日志功能
xferlog_enable=YES
#监听IPv4
listen=NO
#监听Ipv4和Ipv6
listen_ipv6=YES
#是否被动模式 主要修改最后两项
pasv_enable=YES
#主动模式使用的端口号
connect_from_port_20=NO
本地用户验证发送
编辑主要配置文档
[root@localhost vsftpd]# vim vsftpd.conf
#是否开启匿名用户 要关闭
anonymous_enable=NO
#是否开启本地用户访问
local_enable=YES
#是否开启写入功能
write_enable=YES
#匿名用户是否支持上传内容
anon_upload_enable=YES
#匿名用户是否支持创建目录
anon_mkdir_write_enable=YES
#匿名用户是否支持其他权限
anon_other_write_enable=YES
#开启日志功能
xferlog_enable=YES
#监听IPv4
listen=NO
#监听Ipv4和Ipv6
listen_ipv6=YES
#是否被动模式
pasv_enable=YES
#主动模式使用的端口号
connect_from_port_20=NO
#验证发送服务名vsftpd 主要配置参数
pam_service_name=vsftpd
#不允许root登录FTP
userlist_enable=YES
创建用户,并修改密码,在用户目录下创建文件
useradd jack
echo 123 | passwd --stdin jack
touch /home/jack/123.txt
禁止用户切换目录位置
修改主配置参数
#是否开启匿名用户
anonymous_enable=NO
#是否开启本地用户访问
local_enable=YES
#是否开启写入功能
write_enable=YES
#匿名用户是否支持上传内容
anon_upload_enable=YES
#匿名用户是否支持创建目录
anon_mkdir_write_enable=YES
#匿名用户是否支持其他权限
anon_other_write_enable=YES
#开启日志功能
xferlog_enable=YES
#监听IPv4
listen=NO
#监听Ipv4和Ipv6
listen_ipv6=YES
#是否被动模式
pasv_enable=YES
#主动模式使用的端口号
connect_from_port_20=NO
#验证发送服务名vsftpd
pam_service_name=vsftpd
#不允许root登录FTP
userlist_enable=YES
#不能从宿主目录切换到其他目录 主要配置参数
chroot_local_user=YES
#允许chroot目录的写入
allow_writeable_chroot=YES
设置ftpd_full_access为开启状态
setsebool -P ftpd_full_access=on
显示当前路径为 “/”,表示不能切换目录,虽然提示切换成功,但是没有切换到指定目录
开启白名单功能
编辑配置文档
#是否开启匿名用户
anonymous_enable=NO
#是否开启本地用户访问
local_enable=YES
#是否开启写入功能
write_enable=YES
#匿名用户是否支持上传内容
anon_upload_enable=YES
#匿名用户是否支持创建目录
anon_mkdir_write_enable=YES
#匿名用户是否支持其他权限
anon_other_write_enable=YES
#开启日志功能
xferlog_enable=YES
#监听IPv4
listen=NO
#监听Ipv4和Ipv6
listen_ipv6=YES
#是否被动模式
pasv_enable=YES
#主动模式使用的端口号
connect_from_port_20=NO
#验证发送服务名vsftpd
pam_service_name=vsftpd
#不允许root登录FTP
userlist_enable=YES
#不能从宿主目录切换到其他目录
chroot_local_user=YES
#允许chroot目录的写入
allow_writeable_chroot=YES
#开启白名单功能
chroot_list_enable=YES
#白名单列表(不受切换目录限制)
chroot_list_file=/etc/vsftpd/chroot_list
创建白名单文件,并将测试用户添加到文件中
cd /etc/vsftpd
touch chroot_list
vim chroot_list
测试
白名单慎用,因为里面的用户可以随意切换目录,可以对系统文件进行修改。
所以如果某个用户有特殊需求,才将其添加到白名单文件
被动模式(其他功能设置)
#关闭匿名用户登录
anonymous enable=no
write enable=yes
local_enable=yes
anon_upload_enable=no
anon_ mkdir_write enable=no
dirmessage_enable=yes
xferlog_enable=no
#开启被动模式,默认主动
pasv_enable=yes
listen=yes
chroot local_user=yes
chroot list enable=yes
chroot_list_file=/etc/vsftpd/chroot_list
Ellow_writeable_chroot=yes
userlist_enable=yes
#服务器数据传输端口号范围45000~55000
pasv_min port=45000
pasv_max_port=55000
保持selinux开启状态下可访问ftp服务
firewall-cmd --add-service=ftp --permanent
firewall-cmd --reload
设置ftpd_full_access为开启状态
setsebool -P ftpd_full_access=on
创建虚拟用户名单文件vusers.txt,用户1为jack,密码123456;用户2为mary,密码为456789;
vim vusers.txt
将vusers.txt文件转换为vusers.db数据库文件,并设置权限为“600”,删除原有vusers.txt文件;
db_load -T -t hash -f vusers.txt vusers.db
chmod 600 vusers.db
rm -rf vusers.txt
在/etc/pam.d目录下,创建名为vuser的认证文件,并在其中设定用户的访问验证方式
cd /etc/pam.d/
vim vuser
auth required pam_userdb.so db=/etc/vsftpd/vusers
account required pam_userdb.so db=/etc/vsftpd/vusers
修改vsftpd的主配置文件,使其满足虚拟用户的访问需要