linux 搭建FTP服務器

一:安裝FTP

yum install vsftpd -y

輸入vsftpd -v判斷是否安裝成功

clipboard.png
啓動/停止/重啓FTP

systemctl start vsftpd.service(service vsftpd start)  #啓動
systemctl stop vsftpd.service(service vsftpd stop)    #停止
systemctl restart vsftpd.service(service vsftpd restart)#重啓

二:添加ftp用戶

1:創建ftp用戶並設置密碼

useradd vsftpd    #創建ftp用戶
passwd vsftpd     #設置密碼

2:配置該用戶僅能通過 FTP 訪問

usermod -s /sbin/nologin vsftpd

三:FTP配置

1:FTP的配置文件在/etc/vsftpd/vsftpd.conf,找到以下配置並修改或添加

# 修改爲NO,關閉匿名用戶訪問
anonymous_enable=NO
# 將所有本地用戶限制在自家目錄中,NO則不限制(禁止切換根目錄)。
chroot_local_user=YES 
# 設置系統用戶FTP主目錄
local_root=/data
# 開啓charoot寫權限
allow_writeable_chroot=YES
#配置可以登錄ftp的用戶目錄
userlist_deny=NO
userlist_file=/etc/vsftpd/user_list
#配置ftp用戶訪問目錄配置目錄
user_config_dir=/etc/vsftpd/userconfig
# 配置FTP被動模式的端口
pasv_min_port=30000
pasv_max_port=30000

2:配置可以登錄ftp用戶

vim /etc/vsftpd/user_list

在/etc/vsftpd/user_list文件中添加可以登錄ftp的用戶:

clipboard.png

3:配置ftp用戶登錄後訪問的目錄
在/etc/vsftpd目錄下新建一個userconfig目錄,在userconfig目錄下配置用戶的登錄目錄,例:注意:文件名就是你想要配置的用戶名稱

mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/vsftpd

在vsftpd文件中添加

local_root=/data/test  #/data/test表示我登錄ftp是的根目錄

配置完成後重啓FTP更新配置

systemctl restart vsftpd.service(service vsftpd restart)#重啓

四:創建測試目錄及文件

創建目錄

mkdir -p /data/test

設置訪問權限:

chmod 777 -R /data/test

創建一個測試文件,並在裏面寫上this is test!!!

vim /data/test/test.txt

五:防火牆配置

禁用防火牆或者開啓21端口和30000端口

(1):禁用防火牆

systemctl stop firewalld

(2):開啓21端口

#開啓21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#開啓30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload

六:客戶端訪問FTP服務

1:登錄:https://filezilla-project.org/ 下載FIleZilla客戶端工具

將下載下來的FIleZilla進行安裝,安裝過程十分簡單,這裏不介紹了

2:使用FIleZilla登錄ftp服務器
clipboard.png
3:配置ftp用戶登錄後訪問的目錄

在/etc/vsftpd目錄下新建一個userconfig目錄,在userconfig目錄下配置用戶的登錄目錄,例:注意:文件名就是你想要配置的用戶名稱

mkdir /etc/vsftpd/userconfig
vim /etc/vsftpd/userconfig/vsftpd

在vsftpd文件中添加

local_root=/data/test  #/data/test表示我登錄ftp是的根目錄

配置完成後重啓FTP更新配置

systemctl restart vsftpd.service(service vsftpd restart)#重啓

四:創建測試目錄及文件

創建目錄

mkdir -p /data/test

設置訪問權限:

chmod 777 -R /data/test

創建一個測試文件,並在裏面寫上this is test!!!

vim /data/test/test.txt

五:防火牆配置

禁用防火牆或者開啓21端口和30000端口

(1):禁用防火牆

systemctl stop firewalld

(2):開啓21端口和30000端口

#開啓21端口
firewall-cmd --zone=public --add-port=21/tcp --permanent
#開啓30000端口
firewall-cmd --zone=public --add-port=30000/tcp --permanent
#刷新配置
firewall-cmd --reload

六:客戶端訪問FTP服務

1:登錄:https://filezilla-project.org/ 下載FIleZilla客戶端工具

將下載下來的FIleZilla進行安裝,安裝過程十分簡單,這裏不介紹了

2:使用FIleZilla登錄ftp服務器

clipboard.png
如上圖ftp服務器登錄成功,但是登錄成功後發現,只能從ftp服務器上下載文件下來,無法上傳上去,上傳時就報:

clipboard.png

這是由於由於 vsftpd 默認被 SELinux 攔截,解決方法:

1:首先查看SELinux中有關FTP的設置狀態:

getsebool -a | grep ftp

clipboard.png
2:設置ftpd_full_access爲開啓狀態

setsebool -P ftpd_full_access=on

3:重啓vsftpd服務,即可正常訪問FTP

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