一.安装
1.安装
yum install -y vsftpd
2.设置开机启动
systemctl enable vsftpd.service
3.启动
systemctl start vsftpd.service
4.停止
systemctl stop vsftpd.service
5.查看状态
systemctl status vsftpd.service
二.配置
1.打开配置文件
vim /etc/vsftpd/vsftpd.conf
2.显示行号
:set number
3.设置
# 取消匿名用户登录
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
# chroot_local_user 不使用本地用户 chroot_list_enable:启用chroot自定义用户 ,chroot_list_file:自定义配置用户文件位置
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
# ip6 注掉 listen 开启
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
#### new config 自己新增
# 配置用户指定访问目录
user_config_dir=/etc/vsftpd/userconfig
# 允许chroot的用户 写操作
allow_writeable_chroot=YES
# 配置ftp访问根目录 -----此目录配置所有用户共享 高于 上面的 user_config_dir 用户配置目录
local_root=/home/ftpuser
4.其他配置 按需设置 网上查找
use_localtime=YES
listen_port=21
idle_session_timeout=300
guest_enable=YES
guest_username=vsftpd
user_config_dir=/etc/vsftpd/vconf
data_connection_timeout=1
virtual_use_local_privs=YES
pasv_min_port=40000
pasv_max_port=40010
accept_timeout=5
connect_timeout=1
allow_writeable_chroot=YES
三.不同用户配置不同的根目录
(新建用户:)
1.cd /etc/vsftpd/
2.mkdir userconfig
3.cd userconfig/
4.在userconfig目录下 不同用户配置不同的根目录,按用户名新建文件:
用户 root , admin
vim root
local_root=/home/ftpuser/root/
vim admin
local_root=/home/ftpuser/admin/
四.创建ftp用户访问目录
cd /home
mkdir ftpuser
cd ftpuser
mkdir test1
mkdir test2
五.防火墙设置
1.新增21端口配置
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
2.firewall-cmd --zone=public --add-service=ftp --permanent
3.firewall-cmd --zone=public --add-port=21/tcp --permanent
4.firewall-cmd --reload
六.还是无法上传新建删除文件时,设置权限
1.getsebool -a | grep ftp
getsebool,列出所有selinux bool数值清单列表与内容。
2. setsebool allow_ftpd_anon_write 1
setsebool allow_ftpd_full_access 1
要结果为这样
allow_ftpd_anon_write --> on
allow_ftpd_full_access --> off
最后所有设置 都要 systemctl restart vsftpd