Ubuntu構建ftp伺服器(一)

2021-07-04 20:49:30 字數 2478 閱讀 4841

date: 8.25-8.26

target: 用vsftpd在ubuntu kylin 14 lts(沒記錯的話)構建ftp伺服器

sudo su

apt-get install vsftpd

cp /etc/vsftpd.conf /etc/vsftpd.conf

.old

先儲存原檔案,恩,都是這樣說的。

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

vim /etc/init/vsftpd.conf

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

start

on runlevel [345]

這是改啟動級別實現的。

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

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

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
顯示2121在監聽,不過手機還是不行不行的。please try again!那就是ip了吧,但卻能上http?!逗我呢。苦惱中。。。。

總結一下,現在問題是區域網內不能互通ftp。同時,也有需要改進的地方,設定虛擬使用者和虛擬主機。

恩,to be continue…….

mark一下看過的教程這個比較靠譜。

構建FTP伺服器

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

構建ftp伺服器(二)

date 8.25 target 在kylin上構建ftp伺服器 預設就有,直接安裝 sudo apt get install vsftpd 測試 下,輸入 vsftpd version 不要自啟動,那就要修改其啟動指令碼 vim etc init vsftpd.conf 將start on run...

ubuntu配置ftp伺服器

ubuntu 12.04系統 首先介紹一下ftp伺服器 1 檢查sftpd軟體是否安裝 ubuntu是否安裝了vsftpd伺服器 rpm qa grep vsftp 若沒有顯示資訊,則表明你的電腦沒有安裝這個伺服器,接下來要使用 sudo apt get install vsftpd vsftp的解...