CentOS 7部署FTP服務(wù)器

注意:

  1. 小心防火墻和SELinux的阻攔;
  2. 小心FTP服務(wù)器其他配置的影響宴卖,這些配置你并不知道赖欣;
  3. 小心Linux系統(tǒng)本身用戶權(quán)限,文件權(quán)限的限制撞蚕;

昨天因?yàn)樵贚inux上搭建FTP服務(wù)器润梯,又整整栽進(jìn)去了一下午的時(shí)間,本來(lái)早上一直聯(lián)系開(kāi)通遠(yuǎn)程服務(wù)ssh登錄的事情甥厦。但是溝通來(lái)溝通去纺铭,最后結(jié)果還是不可用,感覺(jué)非常惱火刀疙。最終還是要自己搭建一個(gè)FTP服務(wù)器來(lái)做測(cè)試舶赔。既然,決定自己搭建FTP服務(wù)器了谦秧,就要開(kāi)始動(dòng)手干竟纳。之前遠(yuǎn)程服務(wù)器也是我自己搭建的FTP服務(wù)器,過(guò)程雖然也是很曲折疚鲤,但是好歹也是程工了锥累。有了上次的經(jīng)驗(yàn),我就覺(jué)得應(yīng)該沒(méi)什么問(wèn)題石咬。但是,沒(méi)想到還是陰溝里翻了船卖哎。在搭建的過(guò)程中鬼悠,遇到了很多很多在我看來(lái)熟悉而又陌生的問(wèn)題,這些問(wèn)題曾經(jīng)遇到過(guò)亏娜,但是著手解決的時(shí)候焕窝,還是丈二和尚摸不著頭腦,完全是一頭霧水维贺,就是在瞎鼓搗它掂,上網(wǎng)查資料,自己根據(jù)僅有的印象瞎配置一通溯泣。耗到晚上8,9點(diǎn)依然沒(méi)有成功虐秋。就說(shuō)明一個(gè)問(wèn)題:

  • 之前的那次完全就是瞎貓碰找了死耗子,撞了大運(yùn)垃沦,還以為自己啥都懂了客给。
  • 做完之后,沒(méi)有做一個(gè)復(fù)盤(pán)總結(jié)肢簿,完成了就扔到一邊去靶剑。
    吸取了之前的教訓(xùn)蜻拨,就不得不在這里做一個(gè)復(fù)盤(pán)。以防下一次在同樣的地方栽跟頭桩引。那到時(shí)候就只能說(shuō)明自己是在是愚蠢與活該了缎讼。

正文

1. 啥是FTP服務(wù)器

FTP是一個(gè)協(xié)議,就像HTTP協(xié)議一樣坑匠,也是為了網(wǎng)絡(luò)連通交互血崭。FTP就是要完成遠(yuǎn)程的上傳下載這么個(gè)功能。在Linux好像本身就有個(gè)Sftp的服務(wù)笛辟。我沒(méi)有用功氨,因?yàn)閺木W(wǎng)上抄的話,這方面的資料太少手幢,不好抄捷凄。可能也有其他類似的服務(wù)吧围来,實(shí)在沒(méi)工夫去尋根問(wèn)底了跺涤。我就用流行的vsftp。

注意:說(shuō)上面一段廢話是有目的的监透。第一個(gè)linux中本身就有sftp服務(wù)桶错,意思就是這個(gè)玩意兒和linux深度集成的,這是不同于其他的服務(wù)胀蛮,要有這個(gè)認(rèn)識(shí)院刁,我們才能夠理解他的好多配置文件本身就在系統(tǒng)之中,然后粪狼,他使用的登錄賬戶本身就是linux系統(tǒng)的賬戶退腥。這一點(diǎn),我剛開(kāi)始做的時(shí)候再榄,就沒(méi)有理解狡刘,總認(rèn)為vsftp本身要去哪里配置登錄用戶信息,其實(shí)困鸥,根本不用嗅蔬。直接創(chuàng)建系統(tǒng)用戶就可以了。

2.安裝FTP客戶端

之前測(cè)試ftp服務(wù)是否正常運(yùn)行疾就,我都用谷歌瀏覽器澜术,或者windows的文件資源管理器,來(lái)輸入ftp協(xié)議路徑猬腰。
但是呢瘪板,谷歌瀏覽器總是不成功,后來(lái)發(fā)現(xiàn)是在版本80以后漆诽,不再支持了侮攀。這是我踩的一個(gè)大坑啊锣枝。windows的文件資源管理器也有詭異的地方,就是有緩存兰英,往往還莫名其妙的連接失敗撇叁,報(bào)一些不知所云的錯(cuò)誤,讓人大為光火畦贸。所以陨闹,在爬坑的過(guò)程中,找到了一個(gè)國(guó)人做的ftp客戶端FileZilla薄坏。還是很好用的趋厉。本身ftp協(xié)議慢慢的要被淘汰,被很多人所嫌棄胶坠,為此做服務(wù)的就變少了君账。

每次踩坑之后,復(fù)盤(pán)發(fā)現(xiàn)沈善,這些所謂的坑不過(guò)是自己相關(guān)知識(shí)塊的短缺造成的乡数,在相關(guān)知識(shí)領(lǐng)域的人來(lái)說(shuō),這都是司空見(jiàn)慣的闻牡,如果我專注于研究谷歌瀏覽器版本差異净赴,那么不再支持ftp協(xié)議,不就是一條很簡(jiǎn)單的信息嘛罩润。但是玖翅,不知道的人,會(huì)為此付出很多的代價(jià)割以。咋樣才能做到不踩坑呢金度。其實(shí),就是我們?cè)谕瓿梢粋€(gè)功能的時(shí)候拳球,首先要意識(shí)到這個(gè)任務(wù)涉及到龐雜的知識(shí)塊审姓,很多知識(shí)塊又是不言自明的珍特。我們執(zhí)著于把每個(gè)知識(shí)塊都搞懂是不可能的祝峻,所以,就要有撞了南墻快回頭的本領(lǐng)扎筒。我總是執(zhí)著于一些挫敗莱找,非要搞個(gè)水落石出,最終的結(jié)果就是魚(yú)死網(wǎng)破嗜桌。
FileZilla這個(gè)ftp客戶端軟件安裝簡(jiǎn)單奥溺,在這里就不多贅述了。

2. 安裝vsftp服務(wù)器

  • 查看系統(tǒng)中是否安裝了vsftp
    rpm -qa|grep vsftpd
  • 安裝vsftpd
    yum install -y vsftpd
  • 進(jìn)入vsftp配置文件目錄
    cd /etc/vsftpd/
  • 創(chuàng)建vsftp配置備份文件
    mv vsftpd.conf vsftpd.conf_bak
  • 創(chuàng)建vsftp刪掉#注釋的配置文件
    cat vsftpd.conf_bak |grep -v "#" > vsftpd.conf

關(guān)閉防火墻和SELinux
這是慣用套路了骨宠,每次有服務(wù)需要從外部網(wǎng)絡(luò)請(qǐng)求的時(shí)候浮定,我們都要事先檢查這兩個(gè)服務(wù)的情況相满,否則也是栽坑不斷啊。

  • 關(guān)閉防火墻
    firewall-cmd --state
    systemctl stop firewalld.service #暫時(shí)關(guān)閉
    systemctl disable firewalld.service #永久關(guān)閉
  • 關(guān)閉SELinux
    getenforce
    setenforce 0 #暫時(shí)關(guān)閉
    vim /etc/selinux/config #永久關(guān)閉

3. 配置匿名登錄

上面桦卒,我們把準(zhǔn)備工作都做足了立美,下面,我們開(kāi)始實(shí)現(xiàn)第一種情況:配置匿名用戶訪問(wèn)ftp服務(wù)方灾。

  • vsftpd.conf配置如下
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

這段配置了就加了極端關(guān)于匿名用戶權(quán)限的配置建蹄,注意哪些anon開(kāi)頭的配置項(xiàng)。

注意:在用vim打開(kāi)文件的時(shí)候裕偿,竟然沒(méi)有vim洞慎。一個(gè)小插曲,我用如下命令解決:
yum install -y install vim*

  • 重啟ftp服務(wù)
    service vsftpd restart
  • 測(cè)試連接ftp服務(wù)
    我們使用FileZilla客戶端工具來(lái)連接ftp服務(wù)嘿棘,發(fā)現(xiàn)正常劲腿,直接進(jìn)入的是/var/ftp這個(gè)匿名用戶默認(rèn)的文件夾。
    但是蔫巩,我們要?jiǎng)?chuàng)建目錄的時(shí)候谆棱,是失敗的。為啥捏圆仔?那是因?yàn)槲覀兣渲梦募m然開(kāi)啟了權(quán)限垃瞧,但是linux系統(tǒng)文件夾是沒(méi)有給我們匿名用戶操作的權(quán)限的,那我們就來(lái)授權(quán):
    chmod 777 /var/ftp/pub/
    經(jīng)過(guò)上面的一系列的騷操作坪郭,我們就實(shí)現(xiàn)了匿名用戶登錄的功能了个从。

4.配置本地用戶登錄

我們實(shí)際使用的過(guò)程中,當(dāng)然不是簡(jiǎn)單的匿名登錄這么簡(jiǎn)單了歪沃,必須要使用賬戶才可以登錄嗦锐。而這里的本地用戶登錄,就是我們?cè)俚卿涍B接ftp服務(wù)的過(guò)程中沪曙,使用的賬戶是linux系統(tǒng)的本地用戶奕污,這兩個(gè)用戶是用的一套賬戶,就是linux的賬戶系統(tǒng)液走。

  • 修改vsftpd.conf
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YES

pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

關(guān)注上面的配置碳默,我們把關(guān)于匿名的權(quán)限刪除,并不允許匿名登錄缘眶。就這樣嘱根?是的。

  • 刪除ftpusers配置文件中相關(guān)登錄用戶名稱
  • 刪除user_list配置文件中相關(guān)登錄用戶名稱

比如巷懈,我們打算用root用戶登錄该抒,那就把root這個(gè)名稱刪掉。
注意:每次修改配置文件顶燕,都要重啟ftp服務(wù)凑保。
使用root用戶登錄操作ftp冈爹,風(fēng)險(xiǎn)很大。我們可以創(chuàng)建一個(gè)專門(mén)的用戶來(lái)操作ftp欧引。

  • 創(chuàng)建一個(gè)用戶犯助,這個(gè)用戶不能登錄系統(tǒng)。
useradd -s /sbin/nologin zhangsan

坑點(diǎn):如果發(fā)現(xiàn)使用不能登錄系統(tǒng)的用戶登錄時(shí)報(bào)錯(cuò)维咸,那么就是vsftpd過(guò)度驗(yàn)證導(dǎo)致的剂买。需要修改/etc/pam.d/vsftp里的配置,注釋掉#auth required pam_shells.so
感悟:照著視屏操作癌蓖,依舊是坑點(diǎn)不斷瞬哼。無(wú)法躲避啊。

收尾

通過(guò)上面的一系列的騷操作租副,我們完成ftp服務(wù)的部署坐慰。但是,就因此有了很大的成長(zhǎng)了嗎用僧?沒(méi)有结胀,我還是照葫蘆畫(huà)瓢。這也不是我的獨(dú)創(chuàng)责循。我只能說(shuō)點(diǎn)我的體會(huì)糟港。上手安裝一個(gè)服務(wù),我遇到的困境:

  • 我本身對(duì)于linux環(huán)境不熟悉院仿,那么在操作的時(shí)候難免就會(huì)很心虛秸抚。不信任我輸入的每一條命令。所以歹垫,這個(gè)對(duì)linux的學(xué)習(xí)還要加強(qiáng)剥汤。
  • 對(duì)于vsftp這個(gè)服務(wù),我也是完全不熟悉排惨,在看很多的人文章中吭敢,很多人也是不了解的。對(duì)匿名用戶的配置應(yīng)該怎么樣配置暮芭;對(duì)于登錄用戶的配置鹿驼,要修改哪些,刪除哪些谴麦,就沒(méi)有人提到過(guò)蠢沿;在客戶端操作文件夾的時(shí)候伸头,權(quán)限的問(wèn)題匾效,也沒(méi)有人提。這里有些是關(guān)于linux系統(tǒng)需要進(jìn)一步配置恤磷,有些還是要對(duì)vsftp服務(wù)本身要進(jìn)一步配置面哼。當(dāng)二者交叉結(jié)合的時(shí)候野宜,我更是懵逼了。
    回過(guò)頭去看網(wǎng)絡(luò)上的文章魔策,真是令人作嘔匈子,不知所云,連這個(gè)簡(jiǎn)單的需求都講不清楚闯袒,云山霧罩的虎敦。
    本來(lái)想去官網(wǎng)看看的,但是官網(wǎng)還被粉刷打不開(kāi)政敢。哎其徙。。喷户。
    轉(zhuǎn)頭在內(nèi)網(wǎng)尋找唾那,也都是二道販子的文章。這不就陷入了兩難的絕境了嘛褪尝。
    但是闹获,這也說(shuō)明一個(gè)問(wèn)題,這個(gè)事情應(yīng)該是太簡(jiǎn)單河哑,沒(méi)什么可說(shuō)的避诽。所以,還是要冷靜下來(lái)璃谨,分析問(wèn)題茎用,才能夠解決問(wèn)題。

附錄

  • 將所有用戶禁錮在自己的家目錄下
chroot_local_user=YES
  • vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot 錯(cuò)誤解決方法
    從2.3.5之后睬罗,vsftpd增強(qiáng)了安全檢查轨功,如果用戶被限定在了其主目錄下,則該用戶的主目錄不能再具有寫(xiě)權(quán)限了容达!如果檢查發(fā)現(xiàn)還有寫(xiě)權(quán)限古涧,就會(huì)報(bào)該錯(cuò)誤。
    https://blog.csdn.net/u013632755/article/details/83717695
  • 開(kāi)啟某些用戶隨意切換目錄花盐,指定配置這些用戶配置文件的位置
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末羡滑,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子算芯,更是在濱河造成了極大的恐慌柒昏,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,817評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件熙揍,死亡現(xiàn)場(chǎng)離奇詭異职祷,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,329評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門(mén)有梆,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)是尖,“玉大人,你說(shuō)我怎么就攤上這事泥耀〗刃冢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 157,354評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵痰催,是天一觀的道長(zhǎng)兜辞。 經(jīng)常有香客問(wèn)我,道長(zhǎng)夸溶,這世上最難降的妖魔是什么弦疮? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,498評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮蜘醋,結(jié)果婚禮上胁塞,老公的妹妹穿的比我還像新娘。我一直安慰自己压语,他們只是感情好啸罢,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,600評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著胎食,像睡著了一般扰才。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上厕怜,一...
    開(kāi)封第一講書(shū)人閱讀 49,829評(píng)論 1 290
  • 那天衩匣,我揣著相機(jī)與錄音,去河邊找鬼粥航。 笑死琅捏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的递雀。 我是一名探鬼主播柄延,決...
    沈念sama閱讀 38,979評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缀程!你這毒婦竟也來(lái)了搜吧?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,722評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤杨凑,失蹤者是張志新(化名)和其女友劉穎滤奈,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體撩满,經(jīng)...
    沈念sama閱讀 44,189評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蜒程,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,519評(píng)論 2 327
  • 正文 我和宋清朗相戀三年绅你,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片搞糕。...
    茶點(diǎn)故事閱讀 38,654評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖曼追,靈堂內(nèi)的尸體忽然破棺而出窍仰,到底是詐尸還是另有隱情,我是刑警寧澤礼殊,帶...
    沈念sama閱讀 34,329評(píng)論 4 330
  • 正文 年R本政府宣布驹吮,位于F島的核電站,受9級(jí)特大地震影響晶伦,放射性物質(zhì)發(fā)生泄漏碟狞。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,940評(píng)論 3 313
  • 文/蒙蒙 一婚陪、第九天 我趴在偏房一處隱蔽的房頂上張望族沃。 院中可真熱鬧,春花似錦泌参、人聲如沸脆淹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,762評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盖溺。三九已至,卻和暖如春铣缠,著一層夾襖步出監(jiān)牢的瞬間烘嘱,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,993評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工蝗蛙, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蝇庭,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,382評(píng)論 2 360
  • 正文 我出身青樓捡硅,卻偏偏與公主長(zhǎng)得像遗契,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子病曾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,543評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容