天天看点

CentOS7 安装ftp (vsftpd)

1. 检查系统是否又安装ftp

rpm -qa | grep ftp
           
CentOS7 安装ftp (vsftpd)

2. 如果有安装通过命令卸载

rpm -e --nodeps vsftpd-3.0.2-22.el7.x86_64
           
CentOS7 安装ftp (vsftpd)

3. 安装ftp服务器

rpm -y install vsftpd
           
CentOS7 安装ftp (vsftpd)

4. 配置匿名用户访问,匿名用户有上传下载没有删除权限

anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
local_root=/home/vsftpd/
chroot_local_user=YES
anon_root=/home/vsftpd/
anon_other_write_enable=NO
anon_world_readable_only=NO
           

5. 新建目录 /home/vsftpd 并修改权限 为755

mkdir -p /home/vsftpd/files
chmod -R 755 /home/vsftpd
           

5. 修改匿名用户文件的文件夹权限

chmod -R 777 /home/vsftpd/files
           

6.重启vsftpd服务

service vsftpd restart
           

SELINUX处理

方式一、关闭SELINUX

#打开SELINUX配置文件
vim /etc/selinux/config
#修改配置参数
#注释  
SELINUX=enforcing

#增加  
SELINUX=disabled


#修改完成后,需要重启!
           

方式二、修改SELINUX

setenforce 0 #暂时让SELinux进入Permissive模式

#列出与ftp相关的设置
getsebool -a|grep ftp

#以下是显示出来的权限,off是关闭权限,on是打开权限。不同的机器显示的可能不一样。我看了我的显示的,和网上其他教程就不太一样
ftp_home_dir --> off
ftpd_anon_write --> off
ftpd_connect_all_unreserved --> off
ftpd_connect_db --> off
ftpd_full_access --> off
ftpd_use_cifs --> off
ftpd_use_fusefs --> off
ftpd_use_nfs --> off
ftpd_use_passive_mode --> off
httpd_can_connect_ftp --> off
httpd_enable_ftp_server --> off
sftpd_anon_write --> off
sftpd_enable_homedirs --> off
sftpd_full_access --> off
sftpd_write_ssh_home --> off
tftp_anon_write --> off
tftp_home_dir --> off

#根据自己需求修改对应值
#将包含有 ftp_home_dir 和 ftpd_full_access 相关的都设置为 1
#匿名用户修改ftpd_anon_write=1
setsebool -P ftpd_anon_write 1
setsebool -P ftp_home_dir 1
setsebool -P allow_ftpd_anon_write 1
setsebool -P ftp_home_dir 1

setenforce 1 #进入Enforcing模式
           

方式三、 SELINUX不对vsftp不做任何限制

setsebool -P ftpd_connect_all_unreserved 1
           

防火墙修改

(centos6指令不同)

Centos7添加防火墙例外端口(也可以直接禁用防火墙)

# firewall-cmd --zone=public --add-port=21/tcp --permanent        #添加21端口
# firewall-cmd --reload                      #重新加载策略配置,以使新配置生效
注:禁止firewall开机启动为:systemctl disable firewalld

启动:# systemctl start  firewalld
查看状态:# systemctl status firewalld 或者 firewall-cmd --state
停止:# systemctl disable firewalld
禁用:# systemctl stop firewalld
           

也可以添加ftp服务

firewall-cmd --permanent --add-service=ftp
           

如果想删除:

firewall-cmd --zone= public --remove-port=21/tcp --permanent
           

最后更新防火墙规则

firewall-cmd --reload
           

参考博客:

http://www.cnblogs.com/oldpai/p/yunwei20180628.html

https://www.cnblogs.com/xiaoL/p/6964187.html