構建ftp伺服器(二)

2021-07-05 02:33:24 字數 4087 閱讀 7788

date: 8.25

target: 在kylin上構建ftp伺服器

預設就有,直接安裝

sudo apt-get install vsftpd

測試-下,輸入

vsftpd -version

不要自啟動,那就要修改其啟動指令碼

vim /etc/init/vsftpd.conf

start on runlevel [2345] or net-device-up iface!=lo

改為start on runlevel [345]

這是改啟動級別實現的,這裡要根據執行級修改,一般預設是2。

開始修改配置檔案

vim /etc/vsftpd.conf

改變ftp根目錄,gg跳轉到檔案尾,插入

local_root=/home/wang/ftp

其中ftp是我剛新建的資料夾,這時重新登入的話,一開始就不是/home/wang,而是local_root(剛設為/home/wang/ftp)。

下面是遇到的問題,後來發現firefox是這樣,通過返回上一層到其他目錄,在chromium卻是沒這功能。

我是個執著的人,所以鑽牛角去了。又搜尋了,在wiki(?)上找到。在shell上登入

ftp localhost

完了後再輸入

pwd

不出意外發現是/home/wang/ftp,好,跟著幹。

chroot_local_user=yes

試試×-×。再次登入,呵呵,顯示

500 oops: vsftpd: refusing to run with writable root inside chroot()。

剛看過,忘了是什麼鬼。幸虧度娘,比較和胃口的說法是使用者的根目錄可寫,我們使用了chroot限制,在最近的更新裡是不被允許的。要修復這個錯誤,可以

chmod a-w /home/wang/ftp

去除使用者根目錄的寫許可權。又或者簡單點(我喜歡)。新增

allow_wirteable_chroot=yes

就ok了,登入,啪啪,行了.這樣做後,使用者也不能移動到其他目錄了。

使用者登入時,我希望是帶著口令的,即不能讓匿名使用者登入。那就是預設的效果,不用修改。不過,可以嘗試一下匿名的登入

anonymous_enable=no

發現/和先前帶口令登入時不一樣,看看就其實預設的是/srv/ftp。修改的話,可以先建立tinuy資料夾

mkdir /src/ftp/tinuy

mkdir /home/wang/tinuy

然後對映虛擬路徑

sudo mount --bind /srv/ftp/tinuy /home/wang/tinuy

再登入時,的確是變了。改變其中乙個資料夾,兩個同時變。不過,怎麼解除安裝我還沒搞懂<-_<-,慎用慎用,哦公尺托佛。

關於這裡,其實還可以建立虛擬使用者,不過這又是另話了。

好了,碰壁完了,改回

anoymous_enable=yes

最後發現應該配置好檔案,要重啟vsftpd==!

用電腦輸入內網ip就能登上。

不過手機卻等不上。

又試著把vsftpd stop,用firefox再登入,發現這次不需要使用者名稱和密碼就能登上了,新建標籤頁也是。不過手機仍沒登上。好吧,試著用chromium上,卻登不上了。那firefox登上的是啥?。。。一段時間後,現在firefox也登不上了。

再次start,這會登上。再次stop,chromium是立即斷了連線,firefox是一段時間才登不上的。重新開啟firefox也是登不上,需要start,加上使用者名稱和密碼才行。

難不成stop不是真正的關?stop時顯示vsftpd stop/waiting,waiting是why?這讓我想起來那背得欲仙欲死的作業系統,是那程序狀態阻塞態或掛起態?

好吧,暫且不管。總之已經安裝了vsftpd。service vsftpd start/stop是啟。動和關閉。

本地登入行,用手機卻登不上,區域網內的啊?!難道是防火牆?試試

ufw enable

允許ftp埠(預設是21)

ufw

default allow

ufw allow ftp

ufw status

開了以後就只能使用ftp登入了,理論上是,但手機登入的時候確實沒反應。ping一下,能通。後來開了apache2,也是登不上http。關了ufw

ufw disable

http能登上了,說明防火牆是有用的。關了後也是上不了ftp,而開機是ufw預設是關了,綜上就不是防火牆的錯,路走歪了。難道是埠問題?在vsftpd.conf裡新增了

listen_port=2121

試一下。還是本地可行,與埠無關。先還原埠

netstat -nl

顯示21在監聽,不過手機還是不行不行的。苦惱中。。。

date 8.27

想到通過日誌檔案去看。先重啟vsftpd

sudo service vsftpd restart

然後用電腦和手機登入。

然後直接去檢視日誌檔案

cat /var/log/vsftpd.log | grep "aug 27"

顯示如下

thu aug 27

09:55:16

2015 [pid 4392] connect: client "127.0.0.1"

thu aug 27

09:55:18

2015 [pid 4391] [anonymous] fail login: client "127.0.0.1"

thu aug 27

09:55:19

2015 [pid 4395] connect: client "127.0.0.1"

thu aug 27

09:55:21

2015 [pid 4394] [wang] ok login: client "127.0.0.1"

thu aug 27

09:55:28

2015 [pid 4399] [wang] ok download: client "127.0.0.1", "/chromium-browser.desktop", 12615

bytes, 194.36kbyte/sec

thu aug 27

09:56:15

2015 [pid 4412] connect: client "192.168.0.104"

thu aug 27

09:56:17

2015 [pid 4411] [anonymous] fail login: client "192.168.0.104"

thu aug 27

09:56:18

2015 [pid 4416] connect: client "192.168.0.104"

thu aug 27

09:56:19

2015 [pid 4414] [wang] ok login: client "192.168.0.104"

thu aug 27

09:56:21

2015 [pid 4419] [wang] ok download: client "192.168.0.104", "/chromium-browser.desktop", 12615

bytes, 42924.52kbyte/sec

date 9.4

構建FTP伺服器

ftp是file transfer protocol 檔案傳輸協議 的英文簡稱,而中文簡稱為 文傳協議 用於internet上的控制檔案的雙向傳輸。本文以ubuntu為例來安裝及配置ftp sudo apt get install vsftpd 複製 sudo vi etc vsftpd.conf ...

Ubuntu構建ftp伺服器(一)

date 8.25 8.26 target 用vsftpd在ubuntu kylin 14 lts 沒記錯的話 構建ftp伺服器 sudo su apt get install vsftpdcp etc vsftpd.conf etc vsftpd.conf old先儲存原檔案,恩,都是這樣說的。不...

linux上構建ftp伺服器

可以參考這篇博文。進入 etc vsftpd目錄下,有以下幾個配置檔案 1 ftpusers 黑名單配置檔案,這個裡面的使用者不允許訪問ftp伺服器 2 user list 白名單配置檔案,允許訪問ftp伺服器的使用者列表 3 vsftpd.conf ftp核心配置檔案 vsftpd.conf配置檔...