「Linux基礎篇」(十四)FTP服務器配置與管理

Linux Windows 7 Vi DNS 小白一起學IT 2017-05-18

虛擬機實驗環境:Redhat7.2 Windowsxp windows7 VMware12

一、實訓目的

● 掌握Vsftpd服務器的配置方法。

● 熟悉FTP客戶端工具的使用。

● 掌握常見的FTP服務器(vsftpd)的故障排除。

二、項目背景

某企業網絡拓撲圖如下圖所示,該企業想構建一臺FTP服務器,為企業局域網中的計算機提供文件傳送任務,為財務部門、銷售部門和OA系統提供異地數據備份。要求能夠對 FTP 服務器設置連接限制、日誌記錄、消息、驗證客戶端身份等屬性,並能創建用戶隔離的FTP站點。

「Linux基礎篇」(十四)FTP服務器配置與管理

三、實訓內容

練習Linux系統下Vsftpd服務器的配置方法及FTP客戶端工具的使用。

準備redhat7.2虛擬機+Windows7測試機

四、實訓步驟

環境準備:

redhat7.2跟windows7測試機在同一網段且可以正常ping通

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

本地yum配置掛載:

「Linux基礎篇」(十四)FTP服務器配置與管理

掛載系統鏡像到 /media目錄

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

vi編輯以上內容並且esc鍵後 shfit+冒號後輸入x回車保存

測試本地yum是否成功 yum list 列出軟件包

「Linux基礎篇」(十四)FTP服務器配置與管理

| tail -10列車後10條,不加參數會列出全部軟件包

安裝vsftpd

yum install -y vsftpd

「Linux基礎篇」(十四)FTP服務器配置與管理

安裝ftp

「Linux基礎篇」(十四)FTP服務器配置與管理

  • 子項目1. 設置匿名帳號具有上傳、創建目錄權限

vi /etc/vsftpd/vsftpd.conf

「Linux基礎篇」(十四)FTP服務器配置與管理

esc鍵後輸入shfit+冒號後 輸入%d回車可以刪除全部內容接著添加以上配置信息


部分參數解釋

anon_umask=022 匿名用戶上傳文件的umask值。

anon_upload_enable=YES 允 許匿名用戶上傳文件

anon_mkdir_write_enable=YES 允許匿名用戶創建目錄

anon_other_write_enable=NO 禁止匿名用戶修改目錄名或刪除目錄

測試結果










「Linux基礎篇」(十四)FTP服務器配置與管理


  • 子項目2. 設置禁止本地user1用戶登錄ftp服務器

新建user1賬戶並且設置密碼激活

「Linux基礎篇」(十四)FTP服務器配置與管理

[root@localhost vsftpd]# vi /etc/vsftpdftpusers

「Linux基礎篇」(十四)FTP服務器配置與管理

添加剛剛新建好的user1賬戶

重啟vsftpd服務

「Linux基礎篇」(十四)FTP服務器配置與管理

沒有報錯即正常 否則檢查配置文件

測試結果

「Linux基礎篇」(十四)FTP服務器配置與管理

user1登陸失敗

「Linux基礎篇」(十四)FTP服務器配置與管理

user2登陸成功

  • 子項目3. 設置本地用戶登錄FTP服務器之後,在進入dir1目錄時顯示提示信息“welcome 小白一起學IT”

    首先編輯下[root@localhost /]# vi /etc/vsftpd/vsftpd.conf 添加這兩條命令後保存重啟vsftpd服務

  • [root@localhost /]# systemctl restart vsftpd.service

「Linux基礎篇」(十四)FTP服務器配置與管理

以user2用戶登錄系統,並進入user2用戶家目錄/home/user2目錄下的dir1目錄

先創建user2賬戶並且切換到user2後 在/home/user2/目錄下創建dir1目錄

在 dir1目錄x新建.message文件並輸入”welcome 小白一起學IT”

結果如下

[user2@localhost dir1]$ su user2;cd/home/user2;mkdir dir1;cd /home/user2/dir1/;pwd; echo "welcome小白一起學IT ">.message

當然你也可以一條一條的輸入 前提在user2登陸下

修改完後可以ls -al顯示

「Linux基礎篇」(十四)FTP服務器配置與管理

[user2@localhost dir1]$ echo "welcome小白一起學IT ">.message

//以下為測試結果

su到root狀態

[root@localhost /]# ftp 192.168.1.2

「Linux基礎篇」(十四)FTP服務器配置與管理

ftp> cd dir1 //切換到dir目錄

250-welcome 小白一起學IT //顯示.message文件的內容

「Linux基礎篇」(十四)FTP服務器配置與管理

當然了你在windows下的cmd鍵入以上命令登陸ftp測試也是一樣的效果

  • 子項目4.設置將所有本地用戶都鎖定在家目錄中

[root@localhost home]# vi /etc/vsftpd/vsftpd.conf

[root@localhost home]# systemctl restart vsftpd.service

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

  • 子項目5. 設置只有指定本地用戶user1和user2可以訪問FTP服務器

root@localhost vsftpd]# vi user_list

[root@localhost vsftpd]# vi vsftpd.conf

root@localhost vsftpd]# systemctl restart vsftpd.service

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

測試

win7測試

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

報錯了哦,能顯示驗證信息但是登陸不了。怎麼辦呢 看下圖

修改配置文件添加一行allow_writeable_chroot=YES

[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf

「Linux基礎篇」(十四)FTP服務器配置與管理

保存退出後變忘記重啟vsftpd服務

[root@localhost vsftpd]# systemctl restart vsftpd.service

再次測試

「Linux基礎篇」(十四)FTP服務器配置與管理

登陸成功

沒報錯即配置參數正常

測試:

  • 子項目6. 配置基於主機的訪問控制

實現如下功能:

● 拒絕192.168.1.6.0/24訪問+拒絕192.168.1.14訪問

[root@localhost vsftpd]# vi /etc/hosts.allow

「Linux基礎篇」(十四)FTP服務器配置與管理

測試結果

「Linux基礎篇」(十四)FTP服務器配置與管理

● 對域jnrp.net和192.168.2.0/24內的主機不做連接數和最大傳輸速率限制。

[root@localhost vsftpd]# vi /etc/hosts.allow

添加以下內容

vsftpd:jnrp.net,192.168.2.0/24 :setenv VSFTPD_LOAD_CONF /etc/vsftpd/vsftpd_tcp_wrap.conf

「Linux基礎篇」(十四)FTP服務器配置與管理

[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd_tcp_wrap.conf

添加以下內容

「Linux基礎篇」(十四)FTP服務器配置與管理

● 對其他主機的訪問限制每IP的連接數為1,最大傳輸速率為20KB/S

[root@localhost vsftpd]# vi /etc/vsftpd/vsftpd.conf

添加以下內容

「Linux基礎篇」(十四)FTP服務器配置與管理

測試

本機先登陸一個ftp

「Linux基礎篇」(十四)FTP服務器配置與管理

很明顯一個Ip不能同時鏈接兩個

如果輸入ftp://192.168.1.2後沒有彈出登陸窗口 ,可以在空白界面鼠標右鍵 登陸

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

  • 子項目7. 使用PAM實現基於虛擬用戶的FTP服務器的配置。

● 創建虛擬用戶口令庫文件。

「Linux基礎篇」(十四)FTP服務器配置與管理

[root@localhost vsftpd]# vim xiaobaiit.list

我是在etc/vsftpd目錄下先創建再寫入。基數列是賬戶 偶數列是密碼哦。這個是虛擬用戶

對虛擬賬戶加密

[root@localhost vsftpd]# db_load -T -t hash -f xiaobaiit.list xiaobaiit.db

[root@localhost vsftpd]# ll

「Linux基礎篇」(十四)FTP服務器配置與管理

別忘記把明文刪除,確保安全

[root@localhost vsftpd]# rm -rf xiaobaiit.list

「Linux基礎篇」(十四)FTP服務器配置與管理

● 生成虛擬用戶所需的PAM配置文件/etc/pam.d/vsftpd。

root@localhost vsftpd]# vi /etc/pam.d/vsftpd

「Linux基礎篇」(十四)FTP服務器配置與管理

添加紅線內的兩列內容,其餘列全部註釋掉 (前面加#號即可),別忘記保存哦

「Linux基礎篇」(十四)FTP服務器配置與管理

● 修改vsftpd.conf文件。

「Linux基礎篇」(十四)FTP服務器配置與管理

● 利用下面的命令重新啟動vsftpd服務即可。

[root@localhost vsftpd]# systemctl restart vsftpd.service

「Linux基礎篇」(十四)FTP服務器配置與管理

最後別忘記把虛擬用戶加入白名單

[root@localhost vsftpd]# vi /etc/vsftpd/user_list

「Linux基礎篇」(十四)FTP服務器配置與管理

「Linux基礎篇」(十四)FTP服務器配置與管理

[root@localhost vsftpd]# systemctl restart vsftpd.service

● 測試。

Linux主機測試

「Linux基礎篇」(十四)FTP服務器配置與管理

Windows7

「Linux基礎篇」(十四)FTP服務器配置與管理

當然了你在我的電腦 文件管理器裡面登陸也是一樣能登陸的

-------------番外篇----------故障解決----------------------------番外篇----------故障解決---------------

「Linux基礎篇」(十四)FTP服務器配置與管理

哈哈 發現配置完 登陸虛擬用戶 失敗。但是本地用戶能登陸。瞬間懵逼 崩潰了有木有!就是虛擬用戶登陸不了有木有 有木有!我明明加了白名單了 為毛還是登陸不了!!各種為毛!!!

別急!我們要學會查看日誌文件,才能去解決!!!go-----

查看日誌

[root@localhost vusers_dir]# tail -f /var/log/secure

日誌示例一:

「Linux基礎篇」(十四)FTP服務器配置與管理

哈哈找到問題了吧,很明顯文件目錄配置出錯啦

日誌示例二:

「Linux基礎篇」(十四)FTP服務器配置與管理

很明顯日誌告訴我們。沒有找到密碼數據庫 哈哈機智的你 知道錯哪了吧/趕緊找找自己加密的文件zai'在哪

-------------番外篇----------故障解決----------------------------番外篇----------故障解決---------------

五、實訓思考題

1.簡單敘述FTP服務器的配置過程。

2.簡單說一下FTP服務器中的文件在Linux系統本身的權限和通過FTP訪問時的權限之間的關係。


本小節至此結束了哦,Linux命令參數太多了,本文只做簡單的一小部分常用命令進行演示。以上的命令更多參數用法大家可以百度命令關鍵字 就可以查到用法(也可用man 或--help命令)。

(注:如果沒有看我這個系列前面文章的同學,按照上文配置 環境可能會跟你的Linux環境有一些小出入,建議點擊我的資料查看我的這個系列前面的文章。)

後續會更新Linux_redhat的一些環境配置,我自己也在學Linux,這也是我的專業,我也會把我的學 習過程不斷更新,讓0起步的小白也能輕鬆入門。老手就可以飄過了。

(如有錯的地方請多多包涵,謝謝)


前面的文章彙總:

「Linux基礎篇」(一)虛擬環境部署安裝redhat7.2

「Linux基礎篇」(二)Linux基本命令練習

「Linux基礎篇」(三)用戶和組的管理

「Linux基礎篇」(四)文件系統管理—redhat7.2

「Linux基礎篇」(五)文件權限管理

「Linux基礎篇」(六)Vi編輯器——redhat7.2

「Linux基礎篇」(七)LVM邏輯卷管理器

「Linux基礎篇」(八)DNS(域名)服務器配置與管理

「Linux基礎篇」(九)動態磁盤管理

「Linux基礎篇」(十)DHCP服務器配置與管理

「Linux基礎篇」(十一)TCP/IP網絡接口配置

「Linux基礎篇」(十二)Samba服務器配置與管理

「Linux基礎篇」(十三)Linux常用文件目錄命令練習


持續更新中。。。。。。。。。。。。喜歡的話請左上角關注哦!

相關推薦

推薦中...