vsFTP服務器安裝及相關參數配置

1.    vsFTP簡介 linux

        vsFTP是Very Secure FTP的縮寫,意指很是安全的FTP服務。其功能強大,經過結合本地系統的用戶認證模塊及其多功能的配置項目,能夠快速有效的搭建強大的多用戶FTP服務。 shell

2.    常見問題解決 安全

        a.    添加ftp帳戶 服務器

#touch /etc/vsftpd.chroot_list
#touch /etc/vsftpd.user_list
#addgroup ftp  #安裝vsftp默認會建立一個ftp帳號/組,此步可省略
#adduer --shell /sbin/nologin --home your_dir(eg./home/ftp) your_ftp_user
#usermod -aG ftp your_ftp_user
#vi /etc/shells
增長一行:/sbin/nologin #若是不增長,則在後期利用帳號不能成功登錄ftp;同時設置爲/sbin/nologin可保證建立的ftp帳號不能做爲系統帳號登錄Linux系統;
        b.    500 OOPS: vsftpd: refusing to run with writable root inside chroot()

                vsftp安全性升級,禁止在ftp帳戶在其對應的根目錄具備寫權限; 網絡

                解決方法:用戶根目錄寫權限去掉; session

        c.    500 OOPS: cannot change directory:/home/******* tcp

                若是selinux開啓的,則在終端執行以下操做: ide

#getsebool ftpd_disable_trans #若是顯示不是on,則執行如下
#setsebool -P ftpd_disable_trans 1
#service vsftpd restart
                還應該考慮ftp用戶對應的訪問目錄的權限是否已經開啓可讀權限;

        d.    臨時凍結ftp用戶 spa

#vi /etc/vsftpd.conf
userlist_enable=yes
userlist_deny=yes
#vi /etc/vsftpd.user_list #添加你要凍結的帳戶,這樣在file文件內的帳號將被臨時凍結,如需從新開通ftp使用權限,將用戶今後文件刪除便可;
        e.    修改ftp用戶訪問目錄
#vi /etc/passwd
#直接修改你ftp帳戶後面對應的目錄便可
        f.    鎖定ftp用戶的訪問目錄權限
chroot_local_user=YES #文件中的用戶能夠訪問自己目錄之外的其餘目錄,不在文件中的帳號不能訪問自己目錄之外的其餘目錄
# (default follows)
chroot_list_file=/etc/vsftpd.chroot_list

        g.    上傳文件權限 rest

#chown ftp:ftp  your_dir(eg. /home/ftp)
#設定對應目錄具備寫權限;
3.    vsFTP經常使用參數配置
一、listen=YES
若設置爲YES,開啓監聽網絡。
二、anonymous_enable
若設置爲YES,則容許匿名用戶訪問;若設置爲NO則拒絕匿名用戶訪問。
若是開啓的話,則能夠經過用戶名ftp或者anonymous來訪問,密碼隨便。
三、local_enable
若設置爲YES,則容許經過本地用戶賬號訪問;若設置爲NO,則拒絕本地用戶賬號訪問。
若是你拒絕了陌生人訪問,那麼這個必須設置爲YES吧,不然誰能訪問你的FTP呢?
四、write_enable
若設置爲YES,則開啓FTP全局的寫權限;若設置爲NO,則不開。
若爲NO則全部FTP用戶都沒法寫入,包括沒法新建、修改、刪除文件、目錄等操做,也就是說用戶都沒辦法上傳文件!!
五、anon_upload_enable 
若設置爲YES,開啓匿名用戶的上傳權限。前提是write_enable有開啓,而且用戶具備對當前目錄的可寫權限。若設置爲NO,則關閉匿名用戶的上傳權限。
六、anon_mkdir_write_enable 
若設置爲YES,開啓匿名用戶新建目錄的權限。前提是write_enable有開啓,而且用戶具備對當前目錄的可寫權限。若設置爲NO,則關閉匿名用戶新建目錄的權限。
七、dirmessage_enable 
若設置爲YES,則可開啓目錄信息推送,也就是用戶登陸FTP後能夠列出當前目錄底下的文件、目錄。 這個應該要開啓吧!
八、xferlog_enable 
若設置爲YES,則開啓登陸、上傳、下載等事件的日誌功能。應開啓! 
九、xferlog_file=/var/log/vsftpd.log
指定默認的日誌文件,可指定爲其餘文件。 
十、xferlog_std_format
若設置爲YES,則啓用標準的ftpd日誌格式。能夠不啓用。 
十一、connect_from_port_20 
若設置爲YES,則服務器的端口設爲20。
若是不想用端口20,能夠另外經過ftp_data_port來指定端口號。
十二、chown_uploads
若設置爲YES,則匿名用戶上傳文件後系統將自動修改文件的全部者。
若要開啓,則chown_username=whoever也需指定具體的某個用戶,用來做爲匿名用戶上傳文件後的全部者。 
1三、idle_session_timeout=600 
不活動用戶的超時時間,超過這個時間則中斷鏈接。
1四、data_connection_timeout=120 
數據鏈接超時時間 。
1五、ftpd_banner=Welcome to blah FTP service. 
FTP用戶登入時顯示的信息 。
1六、local_root=/home/ftp
指定一個目錄,用作在每一個本地系統用戶登陸後的默認目錄。 
1七、anon_root=/home/ftp
指定一個目錄,用作匿名用戶登陸後的默認目錄。 
1八、chroot_local_user、 chroot_list_enable、chroot_list_file
這個組合用於指示用戶能否切換到默認目錄之外的目錄。
其中,chroot_list_file默認是/etc/vsftpd.chroot_list,該文件定義一個用戶列表。
若chroot_local_user 設置爲NO,chroot_list_enable設置爲NO,則全部用戶都是能夠切換到默認目錄之外的。
若chroot_local_user 設置爲YES,chroot_list_enable設置爲NO,則鎖定FTP登陸用戶只能在其默認目錄活動,不容許切換到默認目錄之外。
若chroot_local_user 設置爲YES,chroot_list_enable設置爲YES,則chroot_list_file所指定的文件裏面的用戶列表均可以訪問默認目錄之外的目錄,而列表之外的用戶則被限定在各自的默認目錄活動。
若chroot_local_user設置爲NO,chroot_list_enable設置爲YES,則chroot_list_file所指定的文件裏面的用戶列表都被限定在各自的默認目錄活動,而列表之外的用戶則能夠訪問默認目錄之外的目錄。 
建議設置:chroot_local_user與chroot_list_enable都設置爲YES。這樣就只有chroot_list_file所指定的文件裏面的用戶列表能夠訪問默認目錄之外的目錄,而列表之外的用戶則被限定在各自的默認目錄活動!
好處:全部人都被限制在特定的目錄裏面。若是某些特定用戶須要訪問其餘目錄的權限,只需將其用戶名寫入chroot_list_file文件就能夠賦予其訪問其餘目錄的權限! 

1九、userlist_file、userlist_enable、userlist_deny 
這個組合用於指示用戶能否訪問FTP服務。
其中,userlist_file默認是/etc/vsftpd.user_list,該文件定義一個用戶列表。 
若userlist_enable設置爲YES,userlist_deny設置爲NO,則只有userlist_file所指定的文件裏面的用戶列表裏面的用戶能夠訪問FTP。 
若userlist_enable設置爲YES,userlist_deny設置爲YES,則userlist_file所指定的文件裏面的用戶列表裏面的用戶都被拒絕訪問FTP。
若userlist_enable設置爲NO,userlist_deny設置爲YES,則這個列表沒有實際用處,起不到限制的做用!由於全部用戶均可訪問FTP。
建議設置:userlist_enable與userlist_deny都設置爲YES。這樣則userlist_file所指定的文件裏面的用戶列表裏面的用戶都被拒絕訪問FTP。
好處:只需將某用戶賬號加入到userlist_file所指定文件裏面的用戶列表,就能夠起到暫時凍結該用戶的功能!

20、user_config_dir 
指定一個目錄用於存放針對每一個用戶各自的配置文件,好比用戶kkk登陸後,會以該用戶名創建一個對應的配置文件。 
好比指定user_config_dir=/etc/vsftpd_user_conf, 則kkk登陸後會產生一個/etc/vsftpd_user_conf/kkk的文件,這個文件保存的配置都是針對kkk這個用戶的。能夠修改這個文件而不用擔憂影響到其餘用戶的配置。

4.    設置vsFTP被動模式

        a.    配置參數

vi /etc/vsftpd.conf
pasv_enable=yes
pasv_min_port=50000
pasv_max_port=51000
        b.    開啓模塊
#modprobe ip_conntrack_ftp
#modprobe ip_nat_ftp

        c.    配置iptables(雲主機安全組)

vi /etc/sysconfig/iptables
-A OUTPUT -p tcp --sport 50000:51000 -j ACCEPT
-A INPUT -p tcp --dport 50000:51000 -j ACCEPT
相關文章
相關標籤/搜索