1:安裝vsftpd組建: yum -y install vsftpd
安裝完成以後在目錄/etc/vsftpd/vsftpd.conf檔案是vsftp的配置檔案
2:添加一個專門用來登陸vsftp的賬戶,可以用來登陸ftp用戶端上傳和下載下傳以及删除ftp上面的檔案
useradd ftpuser //建立使用者
passwd root //設定密碼為'root'
這樣建立完一個使用者後就可以用這個使用者登入linux,同時也可以用這個使用者登入和管理vsftp了,有了這個使用者以後就可以配置禁止匿名登入vsftp,
登入這個使用者後的目錄為 /home/ftpuser.
3: 接下來就要打開防火牆的21号端口(ftp預設端口是21)
vi /etc/sysconfig/iptables
重新開機防火牆或者是使防火牆修改立即生效(source指令)
4: 修改selinux
外網是可以通路上去了,可是發現沒法傳回目錄(使用ftp的主動模式,被動模式還是無法通路),也上傳不了,因為selinux作怪了。
修改selinux:
執行以下指令檢視狀态:
[root@bogon ~]# getsebool -a | grep ftp
allow_ftpd_anon_write --> off
allow_ftpd_full_access --> off
allow_ftpd_use_cifs --> off
allow_ftpd_use_nfs --> off
ftp_home_dir --> off
ftpd_connect_db --> off
ftpd_use_passive_mode --> off
httpd_enable_ftp_server --> off
tftp_anon_write --> off
[root@bogon ~]#
執行上面指令,再傳回的結果看到兩行都是off,代表,沒有開啟外網的通路
[root@bogon ~]# setsebool -P allow_ftpd_full_access on
[root@bogon ~]# setsebool -P ftp_home_dir on
這樣應該沒問題了(如果,還是不行,看看是不是用了ftp用戶端工具用了passive模式通路了,如提示Entering Passive mode,就代表是passive模式,預設是不行的,
因為ftp passive模式被iptables擋住了,下面會講怎麼開啟,如果懶得開的話,就看看你用戶端ftp是否有port模式的選項,或者把passive模式的選項去掉。如果用戶端
還是不行,看看用戶端上的主機的電腦是否開了防火牆,關吧)
5: 然後就可以用FileZilla和xftp等ftp連接配接工具連接配接ftp進行檔案的上傳和下載下傳了。
6: 關閉匿名通路:
修改vsftp配置檔案 vim /etc/vsftpd/vsftp.conf
重新開機ftp服務: service vsftpd restart
7: 設定開機啟動vsftpd ftp服務:
chkconfig vsftpd on
8: 開啟被動模式:
預設是開啟的,但是要指定一個端口範圍,打開vsftpd.conf檔案,在後面加上
pasv_min_port=30000
pasv_max_port=30999
表示端口範圍為30000~30999,這個可以随意改。改完重新開機一下vsftpd
由于指定這段端口範圍,iptables也要相應的開啟這個範圍,是以像上面那樣打開iptables檔案。
也是在21上下面另起一行,更那行差不多,隻是把21 改為30000:30999,然後:wq儲存,重新開機下iptables。這樣就搞定了。
9:Java操作linux ftp的常用工具jar包為: commons-net-2.0.jar 具體參考代碼 :http://wenkaixuan.iteye.com/blog/1739344