vsftp 環境搭建 以及iptables設置

ftp鏈接方式有兩種,一種是PORT,也就是主動鏈接,一種是PASV,也就是被動模式。二者的具體區別就不講了,網上資料不少。html

咱們採用客戶端PASV被動模式linux

 

首先咱們配置linux系統的防火牆iptables(防火牆必定要配好,否則會致使鏈接不上報227 Entering Passive Mode (182,92,150,235,145,19).錯誤)web

一、編輯/etc/sysconfig/iptables-config文件,添加如下兩行:
shell

IPTABLES_MODULES="ip_conntrack_ftp"
IPTABLES_MODULES="ip_nat_ftp"

      請必定注意兩行內容的位置關係不要搞反了。若是將"ip_nat_ftp"放到前面是加載不到的。若是你的ftp服務是過路由或者防火牆(即內網映射方式必定須要此模塊)。以上等同於在加載iptables以前運行modprobe命令加載"ip_nat_ftp"和"ip_conntrack_ftp"模塊。服務器

二、iptables文件添加以下兩行:tcp

 [root@a ~]# vi /etc/sysconfig/iptables
-A -INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A -INPUT -p tcp -m state --state NEW -m tcp --sport 21 -j ACCEPT
-A -OUTPUT -P tcp --dport 20 -j ACCEPT

三、檢查iptables文件是否存在如下行(默認是有的),如沒有則添加;編輯器

 -A -INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT

如今咱們開始配置vsftpspa

安裝vsftpdrest

一、以管理員(root)身份執行如下命令(yum安裝vsftp)code

yum install vsftpd

二、設置開機啓動vsftpd ftp服務

chkconfig vsftpd on

三、啓動vsftpd服務

service vsftpd start

管理vsftpd相關命令:

中止vsftpd:  service vsftpd stop

重啓vsftpd:  service vsftpd restart

配置vsftpd服務器

默認的配置文件是/etc/vsftpd/vsftpd.conf,你能夠用文本編輯器打開。

vi /etc/vsftpd/vsftpd.conf

添加ftp用戶

下面是添加user用戶,設置根目錄爲/home/wwwroot/user,禁止此用戶登陸SSH的權限,並限制其訪問其它目錄。

1、修改/etc/vsftpd/vsftpd.conf

將底下三行

#chroot_list_enable=YES
# (default follows)
#chroot_list_file=/etc/vsftpd.chroot_list

改成

chroot_list_enable=YES


# (default follows)


chroot_list_file=/etc/vsftpd/chroot_list

修改如下參數

 anonymous_enable=NO //禁用匿名用戶登錄 
 local_enable=YES //開啓本地用戶登錄
 userlist_enable=NO
 userlist_deny=YES

禁止用戶登陸目錄userlist_file=/etc/vsftpd.user_list 若上面userlist_deny=YES 這樣/etc/vsftpd.user_list就沒法登錄了

三、增長用戶ftpuser,指向目錄/home/wwwroot/ftpuser,禁止登陸SSH權限。

useradd -d /home/wwwroot/user -g ftp -s /sbin/nologin user

四、設置用戶口令

passwd ftpuser

五、編輯文件chroot_list:(用來禁止訪問用戶根目錄的上級目錄)

vi /etc/vsftpd/chroot_list
  1. peter


  2.  

  3.  

  4.  

  5. john

六、從新啓動vsftpd

service vsftpd restart

詳細參數設置請看 http://vsftpd.beasts.org/vsftpd_conf.html

相關文章
相關標籤/搜索