linux ftp(vsftpd)安裝和配置

2021-08-14 18:20:21 字數 3355 閱讀 6032

1.通過

yum來安裝

vsftpd

[root@localhost ~]# yum  install  vsftpd

2.設定為開機啟動

[root@localhost ~]# chkconfig vsftpd on

3.把下面幾行注釋去掉,讓其配置生效:

vi /etc/vsftpd/vsftpd.conf 

local_enable=yes

write_enable=yes

local_umask=022

chroot_local_user=yes      #這行可能需自己寫

pam_service_name=vsftpd

userlist_enable=yes

4.配置儲存後重啟

vsftpd

服務:[root@localhost ~]# service vsftpd restart

新增使用者及額外配置

1.設定

vsftp

的帳號。

[root@localhost ~]# useradd -d /home/htdocs -s /sbin/nologin 使用者名稱

2.為新增的賬號設定密碼

[root@localhost ~]# passwd 使用者名稱

根據提示操作

這樣的話,基本的vsftpd服務配置好了。但是這樣配置完成後客戶端並不能連線上,主要應該是預設防火牆設定下

,centos

的防火牆是不開放

ftp服務的,需要新增模組和開放

21埠才能提供

ftp訪問。

1.新增

ip_conntrack_ftp

模組[root@localhost ~]# vi /etc/sysconfig/iptables-config

新增下面一行

iptables_modules="ip_conntrack_ftp"

2.開啟

21埠

[root@localhost ~]# vi /etc/sysconfig/iptables

新增-a input -m state --state new -m tcp -p tcp --dport 21 -j accept

3.重啟

iptables

使新的規則生效

[root@localhost ~]# service iptables restart

到此,應該是可以了,若軟體測試連線過程中,在使用者驗證的時候出現了錯誤503,應該是

selinux

設定的問題:可以用下面的命令檢查

這是selinux的問題,我們只要開啟

ftp_home_dir

的值開啟為

on:,

allow_ftpd_full_access

也一同開啟即可。

[root@localhost ~]#setsebool -p ftp_home_dir 1

[root@localhost ~]#setsebool -p allow_ftpd_full_access 1

到此,安裝完畢。

啟動/重啟/關閉

/sbin/service vsftpd start

/sbin/service vsftpd restart

/sbin/service vsftpd stop

ps -aux | grep ftpd

netstat -na | grep 21

ftp伺服器設定防火牆

問題,連線成功

錯誤:無法開啟傳輸通道。原因:由於連線方在一段時間後沒有正確答覆或連線的主機沒有反應,連線嘗試失敗。

錯誤:無法取得目錄列表

先關閉ftp服務端   

service vsftpd stop

解決辦法

第一步編輯/etc/vsftpd/vsftpd.conf

新增兩行

pasv_min_port=40000

pasv_max_port=40009

第二步新增防火牆設定(新增40000-40009埠開放)

開啟防火牆配置檔案

vi  /etc/sysconfig/iptables

增加下面一行

-a input -p tcp -m multiport --dport 40000:40009  -j accept

重啟防火牆

service iptables restart

重啟vsftpd /usr/sbin/vsftpd /etc/vsftpd/vsftpd.conf(沒用過,不確定對不對)

啟動 service vsftpd start

被動和主動模式簡介

port模式

ftp

客戶端首先和

ftp伺服器的

tcp 21

埠建立連線,通過這個通道傳送命令,客戶端需要接收資料的時候在這個通道上傳送

port

命令。

port

命令包含了客戶端用什麼埠接收資料。在傳送資料的時候,伺服器端通過自己的

tcp 20

埠連線至客戶端的指定埠傳送資料。

ftp server

必須和客戶端建立乙個新的連線用來傳送資料。

passive模式在建立控制通道的時候和

standard

模式類似,但建立連線後傳送的不是

port

命令,而是

pasv

命令。ftp

伺服器收到

pasv

命令後,隨機開啟乙個高階埠(埠號大於

1024

)並且通知客戶端在這個埠上傳送資料的請求,客戶端連線

ftp伺服器此埠,然後

ftp伺服器將通過這個埠進行資料的傳送,這個時候

ftp server

不再需要建立乙個新的和客戶端之間的連線

Linux FTP vsftpd使用者管理

vsftp 伺服器的使用者有兩種 1. 使用者名稱 anonymous 有些版本可以為空 密碼 空 登陸後的預設路徑 var ftp 2.系統使用者 系統中的普通使用者和超級使用者 使用者名稱 user 系統中的使用者名稱 或者 root 密碼 和系統中一致 登陸後的預設路徑 home user 訪...

mongodb els memcached安全漏洞

elasticsearch漏洞 漏洞 cve 2014 3120 命令執行 cve 2015 3337 目錄穿越 cve 2014 3120 命令執行 啟動 docker compose build docker compose up d cve 2015 3337 目錄穿越 在安裝了具有 site...

pureftp mysql pureftp安裝部署

ftp 檔案傳輸 pure ftpd ftp軟體 作用 通過對映登入傳送和接收檔案。wget 2 解壓包 tar jxvf pure ftpd 1.0.43.tar.bz2 3 進入解壓目錄 cd pure ftpd.4 初始化安裝環境 先建立安裝目錄mkdir usr local pureftpd...