ubuntu搭建ftp服務

需求

使用虛擬用戶登錄訪問ftp, 指定用戶訪問, 公網訪問, 保證安全.

ps.折騰了一整晚發(fā)現如果僅僅是自用的話, 用SSH自帶的 sftp 完全滿足需要, 最關鍵的是不需要任何配置!!!
然后下面的內容不用看了, 權當是個人記錄....

本文涉及到的linux基本操作:

  • useradd 和 groupadd 用戶管理;
  • chown 和 chmod 文件權限管理;
  • PAM

安裝

apt install vsftpd

配置

vim /etc/vsftpd.conf 

本人配置內容如下:

listen=NO
listen_ipv6=YES
dirmessage_enable=YES
use_localtime=YES
#打開日志記錄
xferlog_enable=YES
xferlog_std_format=YES
xferlog_file=/var/log/xferlog

#禁止匿名訪問
anonymous_enable=NO
#允許本地用戶訪問,就是linux本機中存在的用戶
local_enable=YES
#開啟寫模式
write_enable=YES
#本地用戶上傳文件的umask值
local_umask=022

#白名單用戶
userlist_enable=YES
#是否啟動userlist為禁止模式,YES表示在userlist中的用戶禁止登錄ftp(黑名單)镶殷,NO表示黑名單失效械馆,我們已經讓userlist作為一個白名單工育,所以無需使用黑名單功能
userlist_deny=NO
#指定哪個文件作為userlist文件
userlist_file=/etc/vsftpd/vsftpd.user_list

#是否限制本地所有用戶切換根目錄的權限,YES為開啟限制
chroot_local_user=YES
#是否啟動限制用戶的名單list為允許模式缠局,上面的YES限制了所有用戶,可以用這個名單作為白名單,作為例外允許訪問ftp根目錄以外的目錄
chroot_list_enable=YES
#設置哪個文件是list文件著蛙,里面的用戶將不受限制的去訪問ftp根目錄以外的目錄
chroot_list_file=/etc/vsftpd/vsftpd.chroot_list
#是否開啟寫模式,開啟后可以進行創(chuàng)建文件夾等寫入操作
allow_writeable_chroot=YES

#開啟虛擬用戶模式
guest_enable=YES
#指定虛擬用戶映射的本地賬戶
guest_username=vsftpd
#虛擬用戶權限配置文件夾
user_config_dir=/etc/vsftpd/vusers_permission

secure_chroot_dir=/var/run/vsftpd/empty
#指定PAM文件
pam_service_name=vsftpd.vu
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key
ssl_enable=NO

#開啟被動模式
pasv_enable=YES
#被動模式端口范圍
pasv_min_port=60000
pasv_max_port=60099
#關閉PASV模式的安全檢查耳贬。該檢查確保數據連接和控制連接是來自同一個IP地址
#pasv_promiscuous=YES

#主動模式
#connect_from_port_20=YES

使用

service vsftpd start
service vsftpd restart
service vsftpd stop
service vsftpd status

ftp 的原理
ftp 是雙通道的踏堡,一個負責命令,一個負責數據咒劲。分為主動模式和被動模式顷蟆。負責命令的端口是 21,在主動模式下腐魂,負責數據的端口是 20帐偎,在被動模式下負責數據的端口是隨機的……大部分客戶端如 FillaZilla 是可以自行配置用主動模式還是被動模式。你用主動模式就把服務器的安全策略組里的的 21 和 20 打開蛔屹。
如果是被動模式削樊,你可以在/etc/vsftpd/vsftpd.conf下面可以配置一個地址段,比如 60000-61000
配置ftp為被動模式

#connect_from_port_20=YES
pasv_enable=YES
pasv_min_port=60000 
pasv_max_port=61000 

然后在阿里云安全策略組里打開這一個范圍(60000/61000 ),這樣相當于開了 1000 個端口允許連接

創(chuàng)建&配置虛擬用戶

todo

pam_service_name=vsftpd.vu

創(chuàng)建&配置本地用戶

創(chuàng)建vsftpd服務程序用于存儲文件的根目錄以及虛擬用戶映射的系統本地用戶。FTP服務用于存儲文件的根目錄指的是,當虛擬用戶登錄后所訪問的默認位置漫贞。
比如我要創(chuàng)建的本地用戶是 vsftpd, 其用戶主目錄為 /var/ftproot

  1. 創(chuàng)建用戶
useradd -d /var/ftproot -s /sbin/nologin vsftpd

創(chuàng)建完成后可以通過 id vsftpd 命令查看vsftpd用戶的信息:

id vsftpd
uid=1002(vsftpd) gid=1002(vsftpd) groups=1002(vsftpd)
  1. 配置用戶主目錄
//創(chuàng)建主目錄
mkdir /var/ftproot

//修改主目錄所有者
chown -R vsftp:vsftp /var/ftproot

//修改目錄權限
chmod -Rf 755 /var/ftproot/ 

//查看配置結果
ls -ldih /var/ftproot
1058397 drwxr-xr-x 4 vsftpd vsftpd 4.0K Jun 10 22:29 ftproot

客戶端選擇

  • 瀏覽器地址欄輸入 ftp:ip
  • mac finder (打開finder后, cmd + k)也可以連接, 但是貌似局限于局域網.
  • 推薦使用 FillaZilla, 可以看到整個連接過程的日志, 遇到問題可以方便調試.

錯誤處理

1. vsftpd 425 Security: Bad IP connecting

測試以下方法會導致vsftpd無法啟動

//打開配置文件
vim /etc/vsftpd.conf 
//添加:
pasv_promiscuous=YES 
//重啟vsftpd 
service vsftpd restart

pasv_promiscuous選項參數說明:
此選項激活時甸箱,將關閉PASV模式的安全檢查。該檢查確保數據連接和控制連接是來自同一個IP地址迅脐。小心打開此選項芍殖。此選項唯一合理的用法是存在于由安全隧道方案構成的組織中。默認值為NO谴蔑。
合理的用法是:在一些安全隧道配置環(huán)境下豌骏,或者更好地支持FXP時(才啟用它)。

參考資料

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末框舔,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子赎婚,更是在濱河造成了極大的恐慌刘绣,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挣输,死亡現場離奇詭異纬凤,居然都是意外死亡,警方通過查閱死者的電腦和手機撩嚼,發(fā)現死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門停士,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人完丽,你說我怎么就攤上這事恋技。” “怎么了逻族?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵蜻底,是天一觀的道長。 經常有香客問我聘鳞,道長薄辅,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任抠璃,我火速辦了婚禮站楚,結果婚禮上,老公的妹妹穿的比我還像新娘搏嗡。我一直安慰自己窿春,他們只是感情好,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著谁尸,像睡著了一般。 火紅的嫁衣襯著肌膚如雪纽甘。 梳的紋絲不亂的頭發(fā)上良蛮,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天,我揣著相機與錄音悍赢,去河邊找鬼决瞳。 笑死,一個胖子當著我的面吹牛左权,可吹牛的內容都是我干的皮胡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼赏迟,長吁一口氣:“原來是場噩夢啊……” “哼屡贺!你這毒婦竟也來了?” 一聲冷哼從身側響起锌杀,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤甩栈,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后糕再,有當地人在樹林里發(fā)現了一具尸體量没,經...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年突想,在試婚紗的時候發(fā)現自己被綠了殴蹄。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡猾担,死狀恐怖袭灯,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情绑嘹,我是刑警寧澤妓蛮,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布,位于F島的核電站圾叼,受9級特大地震影響蛤克,放射性物質發(fā)生泄漏。R本人自食惡果不足惜夷蚊,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一构挤、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧惕鼓,春花似錦筋现、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽一膨。三九已至,卻和暖如春洒沦,著一層夾襖步出監(jiān)牢的瞬間豹绪,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工申眼, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留瞒津,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓括尸,卻偏偏與公主長得像巷蚪,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子濒翻,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容