linux上ftp服務設定

2021-08-01 00:00:20 字數 2633 閱讀 4431

一、簡介

二、服務端設定

1.安裝vsftpd軟體

yum install vsftpd -y

2.開啟匿名訪問和被動模式埠

vim /etc/vsftpd/vsftpd.conf

anonymous_enable=yes              --開啟匿名使用者訪問

anon_upload_enable=yes              --匿名使用者名稱可以上傳檔案

anon_mkdir_write_enable=yes        --匿名使用者可以建立檔案

anon_other_write_enable=yes        --匿名使用者可以重新命名檔案

pasv_enable=yes                        --開啟被動模式

pasv_min_port=30000                    --被動模式最小埠

pasv_max_port=31000                  --被動模式最大埠

3.載入ftp模組

vim /etc/modprobe.d/vsftpd.conf

alias ip_conntrack ip_conntrack_ftp ip_nat_ftp    --載入ftp模組

vim /etc/rc.local

/sbin/modprobe ip_conntract                --開機載入模組

/sbin/modprobe ip_conntrack_ftp

/sbin/modprobe ip_nat_ftp

4.埠過濾

vim /etc/sysconfig/iptables

-a input -p tcp -m multiport --dport 20,21  -m state --state new -j accept  --開啟20,21埠

-a input -p tcp -m state --state new -m tcp --dport 21 -j accept            --開啟21主動埠

-a input -p tcp --dport 30000:31000 -j accept            --開啟被動埠

5.重啟服務

service vsftpd restart

三、客戶端配置

1.安裝ftp包

2. ftp xx.xx.xx.xx

四、常見問題

1. 今天從公網的伺服器連線本地內網的ftp server copy檔案時,系統老是提示227 entering passive mode(***,***,,***,***,x),很是奇怪,於是上網找資料仔細研究了一下,原來ftp有兩種工作模式,port方式和pasv方式,中文意思為主動式和被動式 ,詳細介紹如下:

主動 ftp :

命令連線:客戶端 >1024 埠 → 伺服器 21 埠

資料連線:客戶端 >1024 埠 ← 伺服器 20 埠

被動 ftp :

命令連線:客戶端 >1024 埠 → 伺服器 21 埠

資料連線:客戶端 >1024 埠 ← 伺服器 >1024 埠

port(主動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時, 客戶端在命令鏈路上用port命令告訴伺服器:「我開啟了***x埠,你過來連線我」。於是伺服器從20埠向客戶端的***x埠傳送連線請求,建立 一條資料鏈路來傳送資料。  

pasv(被動)方式的連線過程是:客戶端向伺服器的ftp埠(預設是21)傳送連線請求,伺服器接受連線,建立一條命令鏈路。當需要傳送資料時, 伺服器在命令鏈路上用pasv命令告訴客戶端:「我開啟了***x埠,你過來連線我」。於是客戶端向伺服器的***x埠傳送連線請求,建立一條資料鏈 路來傳送資料。

由於我的本地ftp伺服器在內網,只是從外網映**兩個埠(20,21),所以無法使用pasv方式,解決此問題的辦法也很簡單,關閉客戶端的pasv方式,強制其用port方式訪問伺服器,登入ftp伺服器後用passive命令關閉客戶端的pasv方式,如下:

ftp> passive

passive mode off.

ftp> passive(再次執行命令可開啟)

passive mode on.

2.ftp下:get 123.cap

報:200 port command successful. consider using pasv.

550 failed to open file.

該問題為123.cap的許可權不夠,使用chmode  a+r+w 123.cap 試試

3.報:500 oops: cannot change directory

解決方法:

在終端輸入命令:

setsebool -p ftpd_disable_trans 1

service vsftpd restart

Linux上配置FTP服務

1.建立ftp使用者 groupadd g 1100 ftpgroup useradd u 1100 g ftpgroup s sbin nologin ftpuser 以上新建的ftpuser使用者無法登陸作業系統 2.安裝vsftp相關包 yum y install vsftp 3.修改ftp配...

Linux伺服器上搭建FTP服務

安裝 vsftpd0 使用 yum 安裝 vsftpd yum install vsftpd y啟動 vsftpd0 安裝完成後,啟動 ftp 服務 service vsftpd start啟動後,可以看到系統已經監聽了 21 埠 netstat nltp grep 21修改配置檔案 vsftpd ...

linux上構建ftp伺服器

可以參考這篇博文。進入 etc vsftpd目錄下,有以下幾個配置檔案 1 ftpusers 黑名單配置檔案,這個裡面的使用者不允許訪問ftp伺服器 2 user list 白名單配置檔案,允許訪問ftp伺服器的使用者列表 3 vsftpd.conf ftp核心配置檔案 vsftpd.conf配置檔...