Centos 6.5使用vsftpd配置FTP服務器教程

Centos 6.5使用vsftpd配置FTP服務器教程

什麼是vsftpd

vsftpd是一款在Linux發行版中最受推崇的FTP服務器程序。特點是小巧輕快,安全易用。vsftpd 的名字代表”very secure FTP daemon”, 安全是它的開發者 Chris Evans 考慮的首要問題之一。在這個 FTP 服務器設計開發的最開始的時候,高安全性就是一個目標。

 vsftpd作爲FTP服務器,在Linux系統中是非常常用的。下面我們介紹如何在centos系統上安裝vsftp。
  1. 當前登錄用戶獲取root權限。執行su命令,輸入當前用戶密碼。
    執行: su

    這裏寫圖片描述

  2. 檢測系統是否安裝過vsftpd,
    執行: rpm -qa | grep vsftpd

    若已安裝,會顯示已安裝的vsftpd版本號,

    這裏寫圖片描述

    若沒有安裝,無顯示。

  3. 若已安裝過vsftpd,先卸載。卸載前,先停止服務 ,然後再卸載
    停止服務:service vsftpd stop
    卸載:yum remove vsftpd

    這裏寫圖片描述

  4. 安裝。用yum命令在線安裝,命令如下:
    yum -y install vsftpd

    這裏寫圖片描述這裏寫圖片描述

  5. 安裝後默認是未啓動,需執行start命令啓動,然後就可以訪問了,此時匿名賬戶即可訪問,考慮安全,需進一步設置。
    啓動服務:service vsftpd start

    這裏寫圖片描述

  6. 此時在安裝vsftpd的機器,用瀏覽器訪問ftp://127.0.0.1 測試成功,且匿名可以訪問,直接進入pub目錄(因爲/var/ftp/pub是匿名用戶的默認訪問目錄),但是其他機器還不能訪問 ,需要繼續配置。

    這裏寫圖片描述

  7. 禁止匿名登陸,執行以下命令,配置vsftpb服務:
    執行: vi /etc/vsftpd/vsftpd.conf

    此時會進入編輯器窗口,這裏需要簡單瞭解vi編輯器的使用,可以參考:http://www.linuxidc.com/Linux/2013-03/80588.htm
    簡單的使用是按i進入插入模式,進行編輯,按esc退出編輯模式,然後輸入:wq 保存修改並退出。
    .
    在vsftpd.conf文件中做如下修改:
    按下i鍵,
    設定不允許匿名用戶訪問(這行靠近文本內容上面,之前是disabled,改爲NO即可):
    anonymous_enable=NO

    添加ftp用戶(這兩行比較靠下面,用#號註釋掉了,刪除#符號即可)
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list

    之後按esc,輸入:wq 保存退出

    這裏寫圖片描述這裏寫圖片描述

    上面配置的意義:userlist_enable=YES
    此項配置/etc/vsftpd.user_list中指定的用戶也不能訪問服務器,若添加userlist_deny=No,則僅僅/etc/vsftpd.user_list文件中的用戶可以訪問,其他用戶都不可以訪問服務器。如過userlist_enable=NO,userlist_deny=YES,則指定使文件/etc/vsftpd.user_list中指定的用戶不可以訪問服務器,其他本地用戶可以訪問服務器

  8. 添加上面指定的 /etc/vsftpd/chroot_list 文件。
    執行:vim /etc/vsftpd/chroot_list

    進入編輯器界面,直接輸入 :wq保存退出即可創建chroot_list文件。

  9. 此時使用 service vsftpd restart 重啓服務,再次訪問 ftp://127.0.0.1/,可以看到需要輸入賬號密碼了,說明上面的配置生效了。(這步先不執行也行,執行只是爲了及時看到修改效果。最後全部修改完,再執行一次也行,這樣可以直接看到最後效果)

    這裏寫圖片描述

  10. 添加ftp用戶,執行以下命令 (不換行,下面是一條命令):
    useradd -d /var/www/html -g ftp -s /sbin/nologin test

    這裏寫圖片描述

    說明:其中,-d命令是指定用戶主目錄,-g是指定用戶分組,-s /sbin/nologin 是禁止用戶登陸系統,最後test是本次新建用戶的用戶名。

  11. 設置test用戶密碼,根據提示,輸入兩次。
    執行: passwd test

    密碼儘量設置字母加數字的組合,不要太過簡單

    這裏寫圖片描述

  12. 修改ftp用戶目錄權限,依次執行以下兩條命令:
    執行: chown test:ftp /var/www/html
    目的:設置test用戶到文件夾

    執行: chmod 777 /var/www/html –R
    目的:設置權限 777代表修改它的權限爲完全開放

    chown用法
    用來更改某個目錄或文件的用戶名和用戶組的
    chmod用法
    用來修改某個目錄或文件的訪問權限。
    參考
    http://blog.csdn.net/doupei2006/article/details/8015986

  13. 此時重啓服務 service vsftpd restart 在本機用test用戶登陸測試成功,但是外部機器還不能訪問,需要繼續配置(這步先不執行也行,執行只是爲了及時看到修改效果。最後全部修改完,再執行一次也行,這樣可以直接看到最後效果)。

  14. 開放21端口 因爲ftp默認的端口爲21,而centos默認是沒有開啓的,所以要修改iptables文件
    執行:vi /etc/sysconfig/iptables

    進入編輯器界面,在行上面有22 -j ACCEPT 的那行下面另起一行輸入
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT

    然後esc退出編輯模式,輸入:wq保存退出。

    這裏寫圖片描述

  15. 重啓iptables (這步先不執行也行,執行只是爲了及時看到修改效果。最後全部修改完,再執行一次也行,這樣可以直接看到最後效果)
    執行:service iptables restart

    此時測試,正常情況下,本機和其他機器應該都可以訪問,但是無法返回文件列表。(就是隻能登陸,無返回數據,因爲有些瀏覽器會記住密碼,再次刷新無登陸頁面,只有無法訪問頁面,可以清除瀏覽器緩存或者換個之前沒登陸過的瀏覽器訪問)

  16. 修改selinux

    SELinux(Security-Enhanced Linux) 是美國國家安全局(NAS)對於強制訪問控制的實現,是 Linux上最傑出的新安全子系統。NSA是在Linux社區的幫助下開發了一種訪問控制體系,在這種訪問控制體系的限制下,進程只能訪問那些在他的任務中所需要文件。SELinux 默認安裝在 Fedora 和 Red Hat Enterprise Linux 上,也可以作爲其他發行版上容易安裝的包得到。

    執行:getsebool -a | grep ftp

    這裏寫圖片描述

    執行上面命令,在返回的結果看到兩行都是off,代表沒有開啓外網的訪問。

    依次執行下面兩條命令,這兩條執行需要一定時間,耐心等待
    setsebool -P allow_ftpd_full_access on
    setsebool -P ftp_home_dir on

    這裏寫圖片描述

    再次執行: getsebool -a | grep ftp,如圖所示,修改成功:

    這裏寫圖片描述

  17. 開啓passive模式(被動模式默認是開啓的,但是要指定一個端口範圍)
    執行:vi /etc/vsftpd/vsftpd.conf

    進入編輯模式,在最後面添加以下兩行:
    pasv_min_port=30000
    pasv_max_port=30999

    這裏寫圖片描述

    然後esc退出編輯模式,輸入:wq 保存退出。
    上面是指定被動模式端口範圍:表示端口範圍爲30000~30999,這個可以隨意改

  18. 由於指定了這段端口範圍,iptables也要相應的開啓這個範圍。
    執行: vi /etc/sysconfig/iptables

    進入編輯模式,在21那一行下添加一行,和上面差不多,只是把21 改爲30000:30999
    -A INPUT -p tcp -m state --state NEW -m tcp --dport 30000:30999 -j ACCEPT

    然後esc退出編輯模式,輸入:wq 保存退出。

    這裏寫圖片描述

  19. 配置完成,重啓iptables和vsftp服務
    執行:service iptables restart
    執行:service vsftpd restart

    這裏寫圖片描述

  20. 爲便於演示效果,可以在用戶主目錄 /var/www/html 添加一個文件,
    執行:vi /var/www/html/test.txt

    打開編輯器窗口,按i,輸入內容,然後按esc退出編輯模式,輸入:wq 保存退出。

  21. 用另一臺機器訪問本機配置的服務,訪問 ftp://服務器ip ,例如 ftp://192.168.122.133/

    這裏寫圖片描述

    使用windows系統下的ftp客戶端端軟件 FileZilla 測試,上傳下載都正常,配置成功。

    這裏寫圖片描述

  22. 配置開機默認啓動vsftp服務
    執行:chkconfig vsftpd on

以上就是簡單配置過程,vsftpd.conf 文件還有更詳細的配置,比如歡迎語、上傳下載速度等,可以自行百度瞭解。
本文如有疏漏或錯誤,歡迎指出。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章