天天看點

Ubuntu配置ftp

    一直都想學習Linux,但是由于各種原因,耽擱至今。最近有點時間,所幸就走進了Linux的世界。本文是學習Linux的第一篇。記錄自己的學習之路。回到主題,請開始你的表演!

一、準備。

    我們都知道,要學習Linux,首先需要在電腦上安裝Linux系統, 具體的安裝步驟,詳情可以參考Linux安裝。為了簡單,我在win10電腦上安裝了VirtualBox虛拟機,在該虛拟機中,安裝了Ubuntu。具體安裝VirtualBox虛拟機和Ubuntu,都比較簡單,這裡就不在較長的描述!如有疑問,請自行百度。

    安裝好Ubuntu後,就開始Linux之旅了!

    由于本篇文章主要是講解ftp方面的,是以有關Linux的知識,請自行百度!因為我也是初學者!^_^

二、ftp伺服器配置。

2.1. 安裝ftp伺服器。

    目前Linux上使用較多的ftp伺服器是vsftpd。是以,我們需要先安裝vsftpd軟體。在Ubuntu上安裝vsftpd,使用的指令是

apt-get install vsftpd 
           

    在終端輸入這句指令,有可能會提示-“無法定位到軟體包 vsftpd”,那麼這個問題的解決辦法是在 /etc/apt/sources.list檔案的最後,添加如下代碼,

deb http://ftp.us.debian.org/debian stable main contrib non-free 
deb http://ftp.us.debian.org/debian-non-US stable/non-US main contrib non-free
deb http://ftp.us.debian.org/debian testing main contrib non-free
deb http://ftp.us.debian.org/debian-non-US testing/non-US main contrib non-free 
deb http://ftp.us.debian.org/debian unstable main contrib non-free
deb http://ftp.us.debian.org/debian-non-US unstable/non-US main contrib non-free
           

    然後在終端中執行指令

apt-get update
           

    經過漫長的等待,終端中最終會執行上面添加的代碼。

PS:

修改/etc/apt/sources.list檔案,我們可以使用在終端中輸入指令

vi /etc/apt/sources.list
           

就會彈出一個檔案編輯界面,這個就是vi編輯界面,此時,我們就能使用vi的基本指令來操作該檔案了。

vim編輯器,相信使用過Linux的夥伴們,都不會陌生。vim 編輯器有兩種模式,一種是指令模式,另一種是編輯模式。指令模式下,才能使用vi的一些指令,例如,将光标移動到檔案内容的最後一行,使用 “G”;“j”-使光标移動下一行;“k”-使光标移動到上一行;“x”-删除光标後的字元;“X”-删除光标前的字元;退出并儲存,使用“:wq”;“q!”-退出不儲存修改;要從指令模式切換至編輯模式,可以使用“i”和“a”(“i”-在目前字元的前面插入的内容,“a”-在目前字元的後面插入的内容)。編輯模式下,就可以輸入新的内容了;從編輯模式切換至指令模式,按“esc”鍵即可。下面列舉下,vi的常用指令,

Ctrl+u:向檔案首翻半屏;
Ctrl+d:向檔案尾翻半屏;
Ctrl+f:向檔案尾翻一屏;
Ctrl+b:向檔案首翻一屏;
esc:從編輯模式切換到指令模式;
ZZ:指令模式下儲存目前檔案所做的修改後退出vi;
:行号:光标跳轉到指定行的行首;
:$:光标跳轉到最後一行的行首;
x或X:删除一個字元,x删除光标後的,而X删除光标前的;
D:删除從目前光标到光标所在行尾的全部字元;
dd:删除光标行正行内容;
ndd:删除目前行及其後n-1行;
nyy:将目前行及其下n行的内容儲存到寄存器?中,其中?為一個字母,n為一個數字;
p:粘貼文本操作,用于将緩存區的内容粘貼到目前光标所在位置的下方;
P:粘貼文本操作,用于将緩存區的内容粘貼到目前光标所在位置的上方;
/字元串:文本查找操作,用于從目前光标所在位置開始向檔案尾部查找指定字元串的内容,查找的字元串會被加亮顯示;
?name:文本查找操作,用于從目前光标所在位置開始向檔案頭部查找指定字元串的内容,查找的字元串會被加亮顯示;
a,bs/F/T:替換文本操作,用于在第a行到第b行之間,将F字元串換成T字元串。其中,“s/”表示進行替換操作;
a:在目前字元後添加文本;
A:在行末添加文本;
i:在目前字元前插入文本;
I:在行首插入文本;
o:在目前行後面插入一空行;
O:在目前行前面插入一空行;
:wq:在指令模式下,執行存盤退出操作;
:w:在指令模式下,執行存盤操作;
:w!:在指令模式下,執行強制存盤操作;
:q:在指令模式下,執行退出vi操作;
:q!:在指令模式下,執行強制退出vi操作;
:e檔案名:在指令模式下,打開并編輯指定名稱的檔案;
:n:在指令模式下,如果同時打開多個檔案,則繼續編輯下一個檔案;
:f:在指令模式下,用于顯示目前的檔案名、光标所在行的行号以及顯示比例;
:set number:在指令模式下,用于在最左端顯示行号;
:set nonumber:在指令模式下,用于在最左端不顯示行号;
           

2.2 vsftpd的配置。

安裝好vsftpd後,我們就需要配置它,那麼就要修改 /etc/vsftpd.conf檔案。具體的配置和說明,見下文,

# 禁止匿名使用者登入
anonymous_enable=NO
# 允許系統使用者登入
local_enable=YES
# 啟用可以修改檔案的 FTP 指令
write_enable=YES
# 本地使用者建立檔案的 umask 值
local_umask=022
# 允許為目錄配置顯示資訊,顯示每個目錄下面的message_file檔案的内容
dirmessage_enable=YES
# 開啟日記功能 
xferlog_enable=YES
# 使用标準的20端口來連接配接ftp 
connect_from_port_20=YES
# 使用标準日志格式 
xferlog_std_format=YES
# 如果啟動這項功能,則所有列在chroot_list_file之中的使用者不能更改根目錄
chroot_list_enable=YES
# 指定限制的使用者檔案
chroot_list_file=/etc/vsftpd/chroot_list
# ftp伺服器将處于獨立啟動模式
listen=YES
# 設定一個本地使用者登入後進入到的目錄
local_root=/home/ftp
# 設定PAM認證服務的配置檔案名稱,該檔案儲存在“/etc/pam.d/”目錄下
pam_service_name=vsftpd
# ftp将檢查userlist_file設定檔案中指定的使用者是否可以通路vsftpd伺服器
userlist_enable=YES
# 隻允許user_list檔案中記錄的ftp使用者能登入vsftp服務,其他的ftp使用者都不可以登入。
userlist_deny=NO
# 定義限制/允許使用者登入的檔案
userlist_file=/etc/vsftpd/allowed_users  
# ftp伺服器将使用tcp_wrappers作為主機通路控制模式
tcp_wrappers=YES
# 連接配接ftp服務費使用的端口
listen_port=21
           

1. 需要手動建立一個目錄-ftp的根目錄,使用者可以通路該目錄下的資源,

mkdir /home/ftp
           

接着建立一個子目錄,

mkdir /home/ftp/data
           

修改ftp這個目錄的權限,

chmod -R 777 /home/ftp
           

2. 還需要手動建立一個檔案allowed_users,位于 /etc下,建立該檔案的指令是

touch allowed_users
           

建立檔案成功後,我們就可以添加通路使用者了,添加使用者的指令是

useradd -d /home/ftp/data -s /sbin/nologin zhangxw
           

添加一個使用者(zhangxw),但是該使用者不能登入系統。

接着設定該使用者的密碼,輸入指令,

passwd zhangxw
           

然後根據提示,輸入密碼即可。例如截圖所示,

Ubuntu配置ftp

3. 将上面添加的使用者,手動寫入到 /etc/vsftpd/allowed_users。隻需要添加一行,寫入使用者名即可。最終檔案内容如下圖所示,

Ubuntu配置ftp

退出儲存即可!重新開機下vsftp服務!

重新開機vsftpd,指令是

service vsftpd restart
           

PS:

如果想要删除ftp某個使用者,可以使用如下指令,例如删除使用者名為 ”zhangxw”的使用者,

userdel zhangxw
           

配置好vsftpd後,我們就可以啟動它了。指令為

service vsftpd start
           

如需檢視vsftpd的狀态,可以輸入指令

service vsftpd status
           

顯示vsftpd的運作狀态,截圖如下所示,

Ubuntu配置ftp

可以看到vsftpd的狀态是 運作。

PS:  有關ftp端口。

ftp服務有兩個端口,預設情況下,一個是20端口,另一個是21端口。21端口用于連接配接,20端口用于資料傳輸。

進行ftp檔案傳輸,用戶端首先連接配接到ftp伺服器的21端口,進行使用者的認證,認證成功後,要傳輸檔案時,ftp伺服器會開一個端口20來進行傳輸資料檔案。

    經過上面的步驟,我們就大緻完成了有關vsftpd的安裝以及配置。接下來,我們就來測試下使用者能否連接配接至vsftpd服務中。首先檢視Ubuntu上網的ip位址,在終端中輸入

ifconfig
           

終端中便會出現該系統的上網資訊,

Ubuntu配置ftp

ip位址在圖上已經标記出來了。ip位址是 10.0.0.120,在終端中輸入指令 “ftp ip位址”,

ftp 10.0.0.120
           
Ubuntu配置ftp

連接配接成功後,會提示輸入使用者名和密碼,

Ubuntu配置ftp

登入成功,便會出現一個 ‘ftp>’這樣的指令行,我們可以輸入指令 ‘dir’,檢視該使用者能通路的目錄,

Ubuntu配置ftp

上圖顯示了 /home/ftp/data 目錄,并且這個目錄的權限比較多,可讀可寫。

是否有小夥伴會想,能否在win系統中通路虛拟機中的ftp伺服器呢?經過一番折騰,結果是~~~~,請繼續看下文。

三、通路ftp。

1. 首先需要檢視win系統的ip位址,相信大家對這個問題都不陌生吧?在  cmd 中 輸入 ipconfig 就可以了,

Ubuntu配置ftp

因為我使用的是無線上網,所有就需要檢視無線網絡的ip位址,我本機的無線網絡ip位址是10.0.0.149。然後去檢視虛拟機的ip位址是否和我的ip位址在同一個網段内?如果兩個不在同一個網段,那麼需要修改虛拟機的網絡ip位址。

2. 修改虛拟機ip位址。

具體修改虛拟機ip位址如下圖所示,首先單擊網絡圖示,出現一個下來清單,選擇‘編輯連接配接’,

Ubuntu配置ftp

單擊‘編輯連接配接’,出現一個網絡連接配接對話框,如果有以太網,選中連接配接,點選編輯;如果沒有以太網,點選添加,

Ubuntu配置ftp

修改虛拟機的ip與win電腦的ip為同一個網段,修改子網路遮罩、網管、DNS伺服器,最後點選儲存。然後檢視虛拟機的ip是否修改成功。

3. 修改虛拟機網絡配置。這一步修改前,建議将虛拟機關閉。修改完成後,重新啟動。

選擇Ubuntu,右鍵選擇 設定,找到 網絡。具體修改如下圖所示,

Ubuntu配置ftp

修改完成後,點選 ok 按鈕。然後,重新啟動虛拟機。記得啟動完虛拟機後,還要啟動下vsftpd服務哦!

接下來就是見證奇迹的時刻了!

4. 驗證。

我們通過兩種方式來驗證。

1). 打開cmd, 輸入 ftp 10.0.0.120,如果出現下圖所示,說明,是連接配接成功的

Ubuntu配置ftp

輸入使用者名和密碼,

Ubuntu配置ftp

可以看到,可以連接配接通路 /home/ftp/data。

這種驗證方式和我們直接在虛拟機中驗證操作和指令基本上都一樣。

2). 使用第三方工具。

使用Xftp工具。相信很多使用Linux服務的小夥伴都知道這個工具。具體的安裝、下載下傳就不多說了,比較簡單。下面是它的使用。

打開這個工具,建立一個連接配接,具體的配置,如下圖所示,

Ubuntu配置ftp

輸入ftp伺服器ip位址,選擇協定 ftp,輸入端口 21,填寫使用者名和密碼,最後點選 确定按鈕。

然後在工具中點選 打開頭标,會出現一個會話對話框,選中我們建立的連接配接,點選連接配接按鈕,

Ubuntu配置ftp

如果一切都順利的話,将會出現如下所示的界面,

Ubuntu配置ftp

現在,我們就可以上傳檔案到 data 目錄中 了。選中一個檔案,拖動到data目錄中,

Ubuntu配置ftp

    至此,有關Linux中配置ftp伺服器的成功了!希望看博文的讀者,能動手實踐操作下!

歡迎大家關注我的公衆号

Ubuntu配置ftp

繼續閱讀