一、在安装前查看是否已安装vsftpd
[root@root~]# rpm -q vsftpd
vsftpd-3.0.2-21.el7.x86_64
[root@root~]# vsftpd -v
vsftpd: version 3.0.2
[root@root~]# where id vsftpd
-bash: where: command not found
[root@root~]# whereis vsftpd
vsftpd: /usr/sbin/vsftpd /etc/vsftpd /usr/share/man/man8/vsftpd.8.gz
卸载:
rpm -e vsftpd-3.0.2-21.el7.x86_64 卸载命令
find / -name '*vsftpd*' 查找是否包括vsftpd字样的文件,确定后做删除。
或者
yum remove vsftpd
安装:
yum install -y vsftpd
配置文件路径
rpm -ql vsftpd|more
vsftpd的开机启动、启动、状态、防火墙配置
--开机启动systemctl enable vsftpd.service
--启动 systemctl start vsftpd.service
--停止 systemctl stop vsftpd.service
--状态 systemctl status vsftpd.service
--开放ftp服务添加到防火墙外firwall-cmd --permanent --zone=public --add-service=ftp
--使其生效firewall-cmd --reload
--重启防火墙systemctl restart firewalld.service
--停止firewall systemctl stop firewalld.service
--禁止firewall开机启动 systemctl disable firewalld.service
配置SELinux
查看状态或者通过getenforce命令查看:
[root@root~]# sestatus -v
SELinux status: disabled
[root@root~]# getenforce
Disabled
临时关闭(不需要重启机器)
setenforce 0 # 设置SELinux 成为permissive模式 (关闭SELinux)
setenforce 1 # 设置SELinux 成为enforcing模式 (开启SELinux)
或者修改配置 (需要重启)
vi/etc/selinux/config
# SELINUX=enforcing
# SELINUXTYPE=targeted
SELINUX=disabled
或者
getsebool -a | grep ftp
setsebool -P ftpd_full_access on
配置文件:
vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO 限制匿名用户访问
local_enable=YES 启用本地系统用户访问; NO ##本地用户登陆限制
write_enable=YES 本地系统用户写入权限; NO ##本地用户写权限限制
设定支持ASCII模式的上传和下载功能。
ascii_upload_enable=YES
ascii_download_enable=YES
chroot_local_user=YES 所有用户被锁定到自己的家目录中
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
默认所有人都可以登陆,出现在名单中的不可以登陆
用户白名单建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list 默认所有人都不可以登陆,出现在名单中的可以登陆。没有这个文件可以建立
pam_service_name=vsftpd 登录FTP服务器,依据/etc/pam.d/vsftpd中内容进行认证;
userlist_enable=YES Vsftpd.user_list和ftpusers配置文件里用户禁止访问FTP;
tcp_wrappers=YES 设置vsftpd与tcp wrapper结合进行主机的访问控制,Vsftpd服务器检
#<限制本地用户登陆>
vim /etc/vsftpd/ftpusers ##用户黑名单
vim /etc/vsftpd/user_list ##用户临时黑名单
用户白名单设定
userlist_deny=NO
/etc/vsftpd/user_list ##参数设定,此文件变成用户白名单,只在名单中出现的用户可以登陆ftp
重启vsftpd
systemctl restart vsftpd.service
增加用户即可访问
useradd user
echo 123456|passwd --stdin user