Linux ftp服務搭建

2022-08-11 15:09:14 字數 3619 閱讀 4210

環境說明:阿里雲伺服器(centos6系統)

1)安裝 vsftpd 服務

# yum install vsftpd -y
配置檔案說明

/etc/vsftpd/vsftpd.conf 是 vsftpd 的核心配置檔案。

/etc/vsftpd/ftpusers 是黑名單檔案,此檔案裡的使用者不允許訪問 ftp 伺服器。

/etc/vsftpd/user_list 是白名單檔案,此檔案裡的使用者允許訪問 ftp 伺服器。

2)配置 vsftpdvsftpd 安裝後預設開啟了匿名訪問 ftp 伺服器的功能,使用匿名使用者訪問,無需輸入使用者名稱和密碼即可登入 ftp 服務,但是沒有許可權修改或上傳檔案。

此處我配置本地使用者登入

本地使用者登入是指使用者使用 linux 作業系統的賬號和密碼登入 ftp 伺服器。

建立乙個測試賬號 ftptest 並設定乙個密碼

# useradd ftptest

# echo "ftptest@123" |passwd --stdin ftptest

建立乙個供 ftp 服務使用的檔案目錄

# mkdir /var/ftp/test
更改 /var/ftp/test 目錄的擁有者為 ftptest

# chown ftptest:ftptest /var/ftp/test -r
修改配置檔案前先進行備份一下

# cp /etc/vsftpd/vsftpd.conf
修改 vsftpd.conf 配置檔案。(此處先使用被動模式)

#禁止匿名登入ftp伺服器

anonymous_enable=no

#允許本地使用者登入ftp伺服器

local_enable=yes

#設定本地使用者登入後所在目錄

local_root=/var/ftp/test

#全部使用者被限制在主目錄

chroot_local_user=yes#開啟被動模式

pasv_enable=yes

#ftp伺服器公網ip(也就是當前阿里雲伺服器的公網 ip)

pasv_address=120.xx.xx.xx

#設定被動模式下,建立資料傳輸可使用port範圍的最小值

pasv_min_port=10000

#設定被動模式下,建立資料傳輸可使用port範圍的最大值

pasv_max_port=10088

#本地使用者上傳檔案的umask

local_umask=022

#是否在進入新目錄時顯示 message_file 檔案中的內容

dirmessage_enable=yes

#啟用日誌

xferlog_enable=yes

#日誌是否進行格式化

xferlog_std_format=yes

#獨立服務

listen=yes

#centos7增加此設定,開啟後預設監控ipv4和ipv6

listen_ipv6=no

#認證模式

pam_service_name=vsftpd

#啟用使用者列表

userlist_enable=yes

#可以上傳(全域性控制)

write_enable=yes

download_enable=yes

啟動 vsftpd

# service vsftpd start
3)設定安全組規則(這裡很關鍵)由於上面是被動模式,所以新增埠時包含了 預設埠21,還有配置檔案中引數pasv_min_port和pasv_max_port之間的所有埠。如圖:

4)測試,我們先在linux上面測試,再在瀏覽器上面測試,再在windows的資料夾測試

1、linux 上測試 ftp ip

[root@srt_aliyun_39 ~]# ftp 120.xx.xx.xx

connected to 120.xx.xx.xx (120.xx.xx.xx).

220 (vsftpd 2.2.2)

name (120.79.93.66:root): ftptest

331 please specify the password.

password:

230 login successful.

remote system type is unix.

using binary mode to transfer files.

ftp> ls

227 entering passive mode (120,xx,xx,xx,xx,81).

150 here comes the directory listing.

226 directory send ok.

ftp> pwd

257 "/var/ftp/test"

ftp> mkdir testdir

257 "/var/ftp/test/testdir" created

ftp> ls

227 entering passive mode (120,xx,xx,xx,39,43).

150 here comes the directory listing.

drwxr-xr-x 2 505 505 4096 apr 12 10:00 testdir

226 directory send ok.

可以看到在linux 上面測試沒有問題,可以正常訪問,並建立資料夾等。 

2、瀏覽器上測試 ftp://ip

3、在windows上通過資料夾訪問測試(說明:這裡就得配置配置了,不然會報各種各樣的錯,因為我們伺服器使用的是被動模式,那麼同樣的道理,客戶端也得使用被動模式去連線服務端。) ftp://ip

選擇 控制面板 > 網路和internet> 

internet 選 

高階 。勾選 啟用 ftp 資料夾檢視,勾選 使用被動 ftp。

可以看到 進去後預設同樣看到了在linux上面建立的 testdir目錄, 並且還新建了乙個windir目錄。

4、再次回到伺服器檢視,也可以看到上面測試建立的檔案,被動模式就ok了。

# ls /var/ftp/test/

testdir windir

linux ftp伺服器搭建 虛擬使用者

一建立虛擬使用者 並且生成口令檔案 前提 一定要裝上 db.util服務 touch etc vsftp virtual.txt vim etc vsftpd virtual.txt db load t t hash f virtual.txt etc vsftpd virtual.db chmod...

LINUX FTP服務開啟

檢視ftp服務是否安裝 rpm qa grep vsftpd vsftpd 2.0.7 4.29.1 如果安裝檢視服務狀態 sbin service vsftpd status 檢視埠是否被占用 netstat ntlp grep 21 如果沒有啟動手動啟動服務 service vsftpd sta...

Linux FTP服務配置

systemctl start vsftpd 開啟vsftpd setenforce 0 關閉selinux firewall cmd permanent add service ftp 新增ftp到防火牆允許的服務裡面 systemctl restart firewalld.service 重啟防...