linux centos7安裝ftp步驟
Linux安裝ftp元件
安裝vsftpd元件
安裝完後,有/etc/vsftpd/vsftpd.conf 檔案,是vsftp的配置檔案。
[[email protected] ~]# yum -y install vsftpd
新增一個ftp使用者
此使用者就是用來登入ftp伺服器用的。
[[email protected] ~]# useradd ftpuser
這樣一個使用者建完,可以用這個登入,記得用普通登入不要用匿名了。登入後預設的路徑為 /home/ftpuser.
給ftp使用者新增密碼。
[[email protected] ~]# passwd ftpuser
輸入兩次密碼後修改密碼。
防火牆開啟21埠
因為ftp預設的埠為21,而centos預設是沒有開啟的,所以要修改iptables檔案
[[email protected] ~]# vim /etc/sysconfig/iptables
在行上面有22 -j ACCEPT 下面另起一行輸入跟那行差不多的,只是把22換成21,然後:wq儲存。
還要執行下,重啟iptables
[[email protected] ~]# service iptables restart
修改selinux
外網是可以訪問上去了,可是發現沒法返回目錄(使用ftp的主動模式,被動模式還是無法訪問),也上傳不了,因為selinux作怪了。
修改selinux:
執行以下命令檢視狀態:
[[email protected] ~]# 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
[[email protected] ~]#
執行上面命令,再返回的結果看到兩行都是off,代表,沒有開啟外網的訪問
[[email protected] ~]# setsebool -P allow_ftpd_full_access on
[[email protected] ~]# setsebool -P ftp_home_dir on
這樣應該沒問題了(如果,還是不行,看看是不是用了ftp客戶端工具用了passive模式訪問了,如提示Entering Passive mode,就代表是passive模式,預設是不行的,因為ftp passive模式被iptables擋住了,下面會講怎麼開啟,如果懶得開的話,就看看你客戶端ftp是否有port模式的選項,或者把passive模式的選項去掉。如果客戶端還是不行,看看客戶端上的主機的電腦是否開了防火牆,關吧)
FileZilla的主動、被動模式修改:
選單:編輯→設定
關閉匿名訪問
修改/etc/vsftpd/vsftpd.conf檔案:
重啟ftp服務:
[[email protected] ~]# service vsftpd restart
開啟被動模式
預設是開啟的,但是要指定一個埠範圍,開啟vsftpd.conf檔案,在後面加上
pasv_min_port=30000
pasv_max_port=30999
表示埠範圍為30000~30999,這個可以隨意改。改完重啟一下vsftpd
由於指定這段埠範圍,iptables也要相應的開啟這個範圍,所以像上面那樣開啟iptables檔案。
也是在21上下面另起一行,更那行差不多,只是把21 改為30000:30999,然後:wq儲存,重啟下iptables。這樣就搞定了。
設定開機啟動vsftpd ftp服務
[[email protected] ~]# chkconfig vsftpd on
然後啟動ftp:service vsftpd start
頁面訪問:ftp:192.168.222.122