linux 搭建FTP服務器

一:安裝FTP
vim

yum install vsftpd -y
複製代碼

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

image.png

啓動/中止/重啓FTP服務器

systemctl start vsftpd.service(service vsftpd start)  #啓動
systemctl stop vsftpd.service(service vsftpd stop)    #中止
systemctl restart vsftpd.service(service vsftpd restart)#重啓
複製代碼

二:添加ftp用戶tcp

1:建立ftp用戶並設置密碼工具

useradd vsftpd    #建立ftp用戶
passwd vsftpd     #設置密碼複製代碼

2:配置該用戶僅能經過 FTP 訪問測試

usermod -s /sbin/nologin vsftpd
複製代碼

三:FTP配置ui

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

# 修改成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用戶spa

vim /etc/vsftpd/user_list
複製代碼

在/etc/vsftpd/user_list文件中添加能夠登陸ftp的用戶:3d

image.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:登陸:filezilla-project.org/ 下載FIleZilla客戶端工具

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

2:使用FIleZilla登陸ftp服務器

image.png

如上圖ftp服務器登陸成功,可是登陸成功後發現,只能從ftp下載下拉,沒法上傳上去,上傳時就報:

image.png

這是因爲因爲 vsftpd 默認被 SELinux 攔截,解決方法:

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

getsebool -a | grep ftp
複製代碼

image.png

2:設置ftpd_full_access爲開啓狀態

setsebool -P ftpd_full_access=on
複製代碼

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

systemctl restart vsftpd.service(service vsftpd restart)#重啓複製代碼
相關文章
相關標籤/搜索