搭建 FTP 檔案服務vsftpd

2022-05-04 02:36:10 字數 3664 閱讀 7002

使用yum安裝 vsftpd:

yum install vsftpd -y
安裝完成後,啟動 ftp 服務:

service vsftpd start
啟動後,可以看到系統已經[監聽了 21 埠]:

netstat -nltp | grep 21
此時,訪問 ftp://《您的 cvm ip 位址》 可瀏覽機器上的 /var/ftp 目錄了。

ftp 協議預設使用 21 埠作為服務埠

目前 ftp 服務登陸允許匿名登陸,也無法區分使用者訪問,我們需要配置 ftp 訪問許可權

vsftpd 的配置目錄為 /etc/vsftpd,包含下列的配置檔案:

匿名訪問和切換根目錄都會給伺服器帶來[安全風險],我們把這兩個功能關閉。

編輯 /etc/vsftpd/vsftpd.conf,[找到下面兩處配置]並修改:

# 禁用匿名使用者

anonymous_enable=no

# 禁止切換根目錄

chroot_local_user=yes

service vsftpd restart
匿名訪問讓所有人都可以上傳檔案到伺服器上而無需鑑權,而允許切換根目錄則可能產生越權訪問問題。

在**編輯器中,用ctrl + f進行搜尋,mac 使用者用cmd + f進行搜尋

建立乙個使用者ftpuser[?]:

useradd ftpuser
為使用者ftpuser設定密碼 [?]:

echo "password" | passwd ftpuser --stdin

為了方便後面的實驗步驟,不建議使用其它的使用者名稱

下面命令中的密碼為實驗室為您生成,為了方便後面的實驗步驟,不建議使用其他密碼

限制使用者ftpuser只能通過 ftp 訪問伺服器,而不能直接登入伺服器:

usermod -s /sbin/nologin ftpuser
為使用者ftpuser建立[主目錄]並約定:

/data/ftp為主目錄, 該目錄不可上傳檔案

/data/ftp/pub檔案只能上傳到該目錄下

mkdir -p /data/ftp/pub
echo "welcome to use ftp service." > /data/ftp/welcome.txt
設定訪問許可權:

chmod a-w /data/ftp && chmod 777 -r /data/ftp/pub

設定為使用者的主目錄:

usermod -d /data/ftp ftpuser
使用者的主目錄是使用者通過 ftp 登入後看到的根目錄

方便使用者登入後可以看到歡迎資訊,並且確定使用者確實登入到了主目錄上。

ping www.yourdomain.com
如果 ping 命令返回的資訊中含有你設定的解析的 ip 位址,說明解析成功。

注意替換下面命令中的www.yourmpdomain.com為您自己的註冊的網域名稱

ftp 服務已安裝並配置完成,下面我們來使用該 ftp 服務

根據您個人的工作環境,選擇一種方式來訪問已經搭建的 ftp 服務

通過 windows 資源管理器訪問

ftp://ftpuser:password@《您的 cvm ip 位址》
通過 ftp 客戶端工具訪問

[主機]:

使用者:

ftpuser
密碼:

password
如果能夠正常連線,那麼大功告成,您可以開始使用屬於您自己的 ftp 伺服器了!

接下來,請上傳任意一張到您的 ftp 伺服器上的pub目錄下,然後,就可以在 /data/ftp/pub 中看到了。

注意:請不要直接上傳檔案到根目錄下,您應該選擇上傳到pub目錄下

如果您申請了網域名稱,可以將ip 位址替換為對應的網域名稱作為訪問憑據

常用錯誤:

1. 解決方法 500 oops: vsftpd: refusing to run with writable root inside chroot()

#vi /etc/vsftpd.conf (或者是在/etc/vsftpd/vsftpd.conf,總之知道自己伺服器的配置檔案)

新增 allow_writeable_chroot=yes

儲存退出

service vsftpd restart 重啟vsftp服務,即可正常登入

2.出現上面的錯誤分析

/etc/vsftpd/vsftp.conf

檔案發現

修改下面2條記錄:

# users to not chroot().

chroot_list_enable=no

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

# default umask for local users is 077. you may wish to change this to 022,

# if your users expect that (022 is used by most other ftpd's)

#local_umask=022

之後問題解決。

或者chroot_list_enable=yes

# (default follows)

chroot_list_file=/etc/vsftpd/chroot_list

在/etc/vsftpd/chroot_list

故障解決方案一:

server sent passive reply with unroutable address 172.18.202.164, using host address instead.

監測到超時!

無法獲得目錄列表

entering passive mode (172,18,202,164,78,195)

列出'/'的目錄項時出錯。

使用vsftpd搭建FTP服務

配置ftp服務 ftp工作在tcp ip模型的應用層,基於的傳輸協議是tcp,ftp客戶端和伺服器之間的連線是可靠的,面向連線的,為資料的傳輸提供了可靠的保證。使用yum工具安裝vsftpd包 yum install y epel release yum install y vsftpd db4 u...

利用vsftpd搭建ftp伺服器

昨天在實驗室內網的一台機器上搭建了乙個ftp伺服器,方便大家共享檔案。這個ftp server要滿足的要求是 有多個使用者,使用乙個共用目錄,每個人都能上傳檔案,但是只能對屬於自己的檔案進行修改 刪除 伺服器雖然在內網的機器上,但是要求在整個校園內都可以方便的訪問。首先,在這台內網機器上建立乙個資料...

實驗 利用vsftpd搭建FTP伺服器

一 準備ftp服務 yum info vsftpdyum y install vsftpdrpm ql vsftpd二 可以上傳和修改的ftpanonymous enable yes 預設是啟用匿名訪問,所以不需要修改 anon upload enable yes 匿名上傳,注意 檔案系統許可權 a...