centOS7.3 搭建ftp服務器經常遇到的坑

一、安裝ftp服務器

1.通過yum命令安裝

yum install vsftpd 

2.安裝成功之後就是配置ftp用戶比如zhangsan

useradd -g root -d /home/wwwroot  -s /sbin/nologin zhangsan

如果提示目錄已存在,不需要理會,繼續往下

3.爲zhangsan設置密碼

passwd zhangsan

4.設置權限

chown -R  zhangsan:root /home/wwwroot

5.修改vsftp配置文件,禁止匿名登錄

vi /etc/vsftpd/vsftpd.conf

把:anonymous_enable=YES 改爲: anonymous_enable=NO

按ESC 輸入 :wq 保存退出

 

二、配置ftp服務器

1.開啓防火牆,添加放行端口21

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

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

firewall-cmd --reload

2.開啓SELinux並設置

vi /etc/selinux/config

更改爲:SELINUX=1

必須重啓linux,不重啓是沒辦法立刻開啓selinux的。

3.重啓ftp,遠程ftp服務器測試是否成功

systemctl restart vsftpd.service

如果這個時候遠程提示

-----------------------------------331 Please specify the password------------------------------------

ftp遠程提示530錯誤

root

響應:331 Please specify the password.

命令:PASS ********************

響應:530 Login incorrect

錯誤:嚴重錯誤,無法連接到服務器

-----------------------------------331 Please specify the password------------------------------------

 

3.1執行如下命令

getsebool -a | grep ftp

3.2找到 tftp_home_dir –> off 這一行,需要把後面的off改成1,通過下面的代碼修改

setsebool -P tftp_home_dir=1

3.3.檢查/etc/vsftpd/vsftpd.conf配置

vim /etc/vsftpd/vsftpd.conf

看下面配置

local_enable=YES  
pam_service_name=vsftpd
userlist_enable=YES
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list

沒有chroot_list就新建一個,在裏面輸入用戶名,一行爲一個用戶,也可以不要這個東西測試


3.4.檢查/etc/pam.d/vsftp

vim /etc/pam.d/vsftpd

註釋掉

#auth    required pam_shells.so  這個很重要

3.5重啓ftp服務器再測試ftp遠程登錄

如果提示vsftpd連接報錯:500 OOPS: vsftpd

-----------------------------------500 OOPS: vsftpd------------------------------------

root

響應:331 Please specify the password.

命令:PASS ********************

響應:500 OOPS: vsftpd:refusing to run with writable root inside chroot()

錯誤:嚴重錯誤,無法連接到服務器

-----------------------------------500 OOPS: vsftpd------------------------------------

 

在服務器上修改Vsftpd的配置文件vsftpd.conf

vim /etc/vsftpd/vsftpd.conf

# 添加一行配置 allow_writeable_chroot=YES

4.測試如果Filezilla 提示—–服務器發回了不可路由的地址,使用服務器地址代替

解決方法:更改Filezilla設置,編輯 - 設置 - 連接-FTP-被動模式,將“使用服務器的外部IP地址來代替”改爲“回到主動模式”即可。

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章