快速搭建簡易的ftp服務器(vsftpd)

日期:20170924


Linux和Windows之間複製粘貼文件

爲了能在windows文件夾中直接複製和粘貼linux文件,簡單且安全的是在linux中搭建ftp服務器。

注:
1、這篇文章只搭建匿名訪問。

2、搭建環境CentOS 7


選擇vsftpd

在linux搭建ftp服務器,多數是用vsftpd,Very Secure FTP Daemon。可能是因爲它很小,穩定和安全,而且現在這項目貌似還有人在維護。


安裝

很多發行版的安裝庫都有vsftpd,很容易安裝。

在CentOS 7只需,

# yum install vsftpd

其他人可訪問(匿名訪問)

搭建FTP,目標是Windows和Linux直接複製粘貼,不需要用戶名和密碼。

所以我們確定幾點,
1、不需要用戶名和密碼即可訪問。(即,設置匿名訪問)

2、爲了安全,不可以訪問上層文件夾。(即,創建監獄)

3、可以上傳和下載文件。(文件具有rw權限,子文件夾具有rwx權限)


配置/etc/vsftpd.conf

/etc/vsftpd.conf是vsftpd主要的配置文件,多數配置都在這裏設置。


不同發行版的vsftpd.conf有可能不在/etc/,例如,CentOS就在,

/etc/vsftpd/vsftpd.conf

如果這兩個路徑都不是,就看看自己發行版的Doc。


vsftpd.conf裏面有很多常用說明,所以剛學搭建vsftpd的人很容易上手。(當然有一些設置是沒有的,那麼你就要man一下,或者去看vsftpd的官方文檔

在配置之前,先備份一份原文檔比較好,(這文件是需要root權限的

# cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.bkp

現在我們配置一下匿名訪問,

[root@ali01 python]# cat /etc/vsftpd/vsftpd.conf | grep -v '^#'
anonymous_enable=YES
anon_root=/home/penx/python  ##增加
anon_umask=000  ##增加
anon_other_write_enable=YES  ##增加
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES  ##把註釋去掉
anon_mkdir_write_enable=YES  ##把註釋去掉
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES  ##把NO改爲YES
listen_ipv6=NO  ##把YES改爲NO

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
[root@ali01 python]#

這文件只是改了很少一部分,
1、增加anon_root=/home/penx/python。

anon_root=$dir

$dir是你想要共享的文件夾。

這裏要注意,其他人不能有該文件夾可寫權限,即,文件夾other的權限沒有w。

這一項是設置“監獄”,讓其他人只能訪問這個文件夾。

2、增加“anon_umask=000”和“anon_other_write_enable=YES”。
一個是設置上傳時,文件的默認權限,一個是允許匿名訪問可以有w的權限。(不是文件夾或文件的其他人權限上有w就可以在ftp中進行寫操作)

3、把 anon_upload_enable=YESanon_mkdir_write_enable=YES 的註釋去掉。
一個是讓其他人可上傳,一個是讓其他人可以在自己創建的文件夾裏複製粘貼。

4、把listen改爲YES,即listen=YES。把listen_ipv6改爲NO。
這是設置監聽時用IPv4地址


重啓vsftpd服務

每次修改vsftpd配置,想立即生效,我們就要重啓vsftpd,

# systemctl restart vsftpd


當然,如果你還沒開服務,你就要,

# systemctl start vsftpd


如果你想開機自動開啓,則,

# systemclt enable vsftpd


測試訪問

如果重啓沒有出問題,應該可以在瀏覽器中訪問你的ftp文件夾,

ftp://xxx.xxx.xxx.xxx


通過windows我的電腦訪問

在多種網絡文件傳輸協議中,我選擇ftp傳輸,是因爲windows可以直接在我的電腦上訪問ftp,當然也能掛載,無需安裝其他軟件。

上面的教程,在網上也有很多。但是,內網搭建vsftpd,然後在外網用windows我的電腦訪問就會出現問題。(估計windows我的電腦中的ftp客戶端並沒有更新,還是很多年前的)

如果出現這個問題,
一,你可以把vsftpd搭在外網。()

二,修改我的電腦傳輸模式,不過這個設置很隱祕,一般都要上網找教程。而且如果每臺windwos都要這樣設置,那就有點過了。所以我找到了第3種。

三,在vsftpd.conf中增加一句,

pasv_address=$address

$address是你的ip地址。

然後重啓vsftpd就可以在我的電腦直接訪問了。


剖析(猜測)
windows我的電腦中的ftp客戶端所用的協議沒有更新,所以外網訪問內網的ftp服務器時,沒有獲取正確的ftp服務器地址。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章