vsftp 環境搭建 以及iptables設置
ftp連接方式有兩種,一種是PORT,也就是主動連接,一種是PASV,也就是被動模式。兩者的具體區別就不講了,網上資料很多。
我們采用客戶端PASV被動模式
首先我們配置linux系統的防火墻iptables(防火墻一定要配好,不然會導致連接不上報227 Entering Passive Mode (182,92,150,235,145,19).錯誤)
1、編輯/etc/sysconfig/iptables-config文件,添加以下兩行:
IPTABLES_MODULES="ip_conntrack_ftp" IPTABLES_MODULES="ip_nat_ftp"
請一定注意兩行內容的位置關系不要搞反了。如果將"ip_nat_ftp"放到前面是加載不到的。如果你的ftp服務是過路由或者防火墻(即內網映射方式一定需要此模塊)。以上等同于在加載iptables之前運行modprobe命令加載"ip_nat_ftp"和"ip_conntrack_ftp"模塊。
2、iptables文件添加如下兩行:
[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 -INPUT -P tcp --dport 20 -j ACCEPT
3、檢查iptables文件是否存在以下行(默認是有的),如沒有則添加;
-A -INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
現在我們開始配置vsftp
安裝vsftpd
1、以管理員(root)身份執行以下命令(yum安裝vsftp)
yum install vsftpd
2、設置開機啟動vsftpd ftp服務
chkconfig vsftpd on
3、啟動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</pre>
改為
chroot_list_enable=YES(default follows)
chroot_list_file=/etc/vsftpd/chroot_list</pre>
修改以下參數
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就無法登陸了
3、增加用戶ftpuser,指向目錄/home/wwwroot/ftpuser,禁止登錄SSH權限。
useradd -d /home/wwwroot/user -g ftp -s /sbin/nologin user4、設置用戶口令
passwd ftpuser5、編輯文件chroot_list:(用來禁止訪問用戶根目錄的上級目錄)
vi /etc/vsftpd/chroot_list
peter
</li>
</li></li>
john
</li> </ol>6、重新啟動vsftpd
service vsftpd restart詳細參數設置請看 http://vsftpd.beasts.org/vsftpd_conf.html
來自:http://my.oschina.net/u/1036767/blog/333005