天天看點

LINUX下VSFTP設定

vsftp

# yum install vsftpd -y

配置目錄 /etc/vsftpd

# vim /etc/vsftpd/vsftpd.conf

iptables的配置:

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

例子:實作匿名可以通路

# vim /etc/vsftpd/vsftpd.conf

anonymous_enable=YES  <---預設就有的參數

# service vsftpd restart

例子:實作匿名可以上傳檔案

# vim /etc/vsftpd/vsftpd.conf

anon_upload_enable=YES

anon_mkdir_write_enable=YES

額外的參數

anon_other_write_enable=YES

anon_world_readable_only=NO  <---YES代表匿名隻可以下載下傳任何人都可以讀的檔案

注意:

要實作網絡服務可寫,必須首先保證服務軟體允許可寫通路

其次,保證寫操作對應資源(目錄)有寫的權限

預設情況下,匿名帳号ftp登入的資源根目錄是在/var/ftp

而如果要讓他能上傳檔案,就必須在/var/ftp下建立一個子目錄,并且讓這個子目錄有可寫的權限。

# chmod 777 /var/ftp/pub

Selinux的設定:

# sealert  -a /var/log/audit/audit.log  <--相關的提示可以從這裡看到

# setsebool -P allow_ftpd_anon_write=1 

# chcon -t public_content_rw_t /var/ftp/pub

重新開機服務

# service vsftpd restart

測試

ftp> put /etc/fstab  /pub/fstab

例子3:更改匿名登入之後通路的ftp資源的根目錄,然後讓匿名可以有上傳檔案的權限。

根目錄改為/common

提示:怎麼更改ftp根目錄

注意自定義目錄的selinux的安全上下文

# vim /etc/vsftpd/vsftpd.conf

anon_root=/common

anon_upload_enable=YES

anon_mkdir_write_enable=YES

# mkdir /common

# mkdir /common/pub

# chmod 777 /common/pub

# setsebool -P allow_ftpd_anon_write=1

# chcon -t public_content_t /common

# chcon -t public_content_rw_t /common/pub

# service vsftpd restart

IPTABLES的設定

modprobe ip_conntrack_ftp  <---非常重要

echo "modprobe ip_conntrack_ftp"  >> /erc/rc.d/rc.local

iptables -I INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

iptables -A INPUT -i lo -j ACCEPT

iptables -A INPUT -p tcp -m multiport --dports 20,21 -j ACCEPT

iptables -P INPUT DROP

結合Tcpwrapper

      隻允許example.com域下使用者通路ftp

# vim /etc/hosts.deny

vsftpd: ALL EXCEPT .example.com