天天看點

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