CentOS7 設置 vsftpd 3.02版本

                            CentOS7 設置vsftpd 3.0.2 版本.txt

yum install vsftpd

啓動一下用 service vsftpd start
然後用匿名登陸方式測試下這個vsftpd是否可用,如果這一步就不可用,則要排除環境上其他潛在問題。才能繼續下一步

----1.用戶設置-------------------------

    1.1 增加組ftp 
    groupadd ftp

    1.2 增加用戶webuser ,  不讓登陸,主目錄是/data/web ,屬於組ftp
    useradd -d /data/web -g ftp -s /sbin/nologin webuser

    1.3 創建密碼:
    passwd webuser

----2.用戶目錄設置-------------------------

    2.1 創建webuser用戶的主ftp目錄:
    mkdir /data/web

    2.2 去除主目錄的可寫性,這個是因爲 vsftpd 的較新的版本的安全限制,主目錄不可寫,只有子目錄可寫
    #可寫的主目錄不能被顯示,否則報錯:refusing to run with writable root inside chroot()
    
    chmod a-w /data/web

    2.3 創建主目錄下的 可寫子目錄pub ( 用戶操作都在pub下進行,不能在 /data/web/下進行)
    mkdir /data/web/pub

    2.4 設置主目錄的下的子目錄的可寫性
    chmod -cR 777 /data/web/pub

    2.5 將主目錄下所有目錄的屬主該成ftp用戶和ftp組
    chown -hR webuser:ftp /data/web

-----3. 主配文件,配置------------------------
3.1修改 /etc/vsftpd/vsftpd.conf

    #禁止anonymous登陸,默認是打開的允許的,可先不做這個設置,用匿名用戶登陸做測試,看整個vsftpd初始安裝是否正確
    原來:anonymous_enable=YES
    修改後:anonymous_enable=NO

    #允許linux本機用戶登陸
    local_enable=YES

    #本機用戶可以寫目錄
    write_enable=YES

    #默認不允許本機用戶改變目錄,這個要打開,原先被註釋掉了。
    chroot_local_user=YES

    #但是允許/etc/vsftpd/chroot_list中列出的用戶除外
    chroot_list_enable=YES

    #chroot_list中列出的用戶可以改變目錄 'change root=chroot'
    chroot_list_file=/etc/vsftpd/chroot_list

    #允許監聽
    listen=YES

    #不允許監聽在ipv6,這個設置和上面設置只能選1個
    listen_ipv6=NO

    pam_service_name=vsftpd
    userlist_enable=NO
    tcp_wrappers=NO
     
    #改變主端口,安全性好
    listen_port=8083

    #允許passive模式,這個比較重要
    pasv_enable=YES

    #以下2個端口,最好在公網的防火牆上爲設爲對外開放,否則客戶端可能不能連接vsftpd(可輪番將tomcat的端口修改成以下範圍的端口來做測試。
    pasv_min_port=8081
    pasv_max_port=8084

-----------------------------
3.2 創建空白文件 /etc/vsftpd/chroot_list
    
    touch /etc/vsftpd/chroot_list
    
3.2 註釋掉文件/etc/pam.d/vsftpd中行auth  required    pam_shells.so ,使得本機用戶可以登陸ftp
     
    vim /etc/pam.d/vsftpd   
    #auth       required    pam_shells.so
        
3.3 重啓 service vsftpd restart

--------------------------------
4.用filezillar客戶端連接vsftpd

    4.1設置主動連接 (active mode)

大功告成!
  

默認,vsftpd 安裝好後,是支持主動(port) 模式的。加上支持被動模式,那麼主被動都支持,主動模式時,服務器開端口20來傳輸文件。但是在實際測試時,發現主動模式並不能實際成功!如果你只以只開2個端口來傳輸文件,可能要面臨其它選擇:

1)用proftpd 來代替vsftpd, proftpd安裝完後,對主動模式支持很好。(這個見博主另外一個篇問章)

2)改用socket傳輸,端口很固定,很容易控制。


不知道爲啥vsftpd在centos設置這麼麻煩!也許ftp不太安全了吧!是個過時的東西!將來不久會淘汰的.

這篇文章也不錯:https://blog.csdn.net/bpandaw/article/details/78061964

  

 

        
    


 

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