Linux搭建ftp服務器彙總整理html
1、檢查linux中是否已經安裝vsftpd服務端軟件linux
rpm -qa |grep vsftpdshell
2、卸載linux中的vsftpd服務端軟件vim
rpm -e vsftpd安裝版本號安全
3、安裝linux中的vsftpd服務端bash
yum install vsftpd -y服務器
4、安裝linu中的ftp客戶端ssh
yum install ftptcp
5、啓動中止重啓vsftpd服務端spa
啓動:service vsftpd start
關閉:service vsftpd stop
重啓:service vsftpd restart
6、設置開機自啓
chkconfig vsftpd on
7、配置vsftpd服務端模式
一、主動模式:(公司內網使用能夠選擇此模式)
# vi /etc/vsftpd/vsftpd.conf
port_enable=YES
connect_from_port_20=YES
二、被動模式:(須要映射到公網的就選擇此模式,想對安全)
# vi /etc/vsftpd/vsftpd.conf
connect_from_port_20=NO
pasv_enable=YES(被動模式開啓)
pasv_min_port=3010(最小端口)
pasv_max_port=3015(最大端口)
pasv_address=公網IP地址(很是重要這個)
說明:最小端口、最大端口範圍最好是5-10端口就行,方便公網開通對應端口,端口數量太少,可能會致使有時候能鏈接上,有時候鏈接不上。
8、ftp服務器主動、被動模式區別
一、主動模式(PORT):
原理:
FTP客戶端鏈接到FTP服務器的21端口,發送用戶名和密碼登陸,登陸成功後要list列表或者讀取數據時,客戶端隨機開放一個端口(1024以上), 發送 PORT命令到FTP服務器,告訴服務器客戶端採用主動模式並開放端口;FTP服務器收到PORT主動模式命令和端口號後,經過服務器的20端口和客戶端 開放的端口鏈接,發送數據。
要點:
傳送數據時是「服務器」鏈接到「客戶端」的端口;
須要客戶端必須開放端口給服務器,不少客戶端都是在防火牆內,開放端口給FTP服務器訪問比較困難;
二、被動模式(PASV):
原理:
FTP 客戶端鏈接到FTP服務器的21端口,發送用戶名和密碼登陸,登陸成功後要list列表或者讀取數據時,發送PASV命令到FTP服務器, 服務器在本地隨機開放一個端口(1024以上),而後把開放的端口告訴客戶端, 客戶端再鏈接到服務器開放的端口進行數據傳輸。
要點:
傳送數據是「客戶端」鏈接到「服務器」的端口;
只須要服務器端開放端口給客戶端鏈接就行;
三、如何選擇ftp模式:
若是隻是公司內部、局域網使用ftp,能夠用主動模式,可是ftp客戶端防火牆最好關掉或者開放ftp須要的數據端口範圍,不存在安全問題也。若是是公網ftp就用被動模式,能夠自定義端口,更加安全。
想要安全、鏈接方便就用被動模式。
9、ftp服務器中三種用戶模式
一、匿名用戶:
用anonymous帳號,不用輸入密碼就可以進入ftp服務器。
此用戶模式很是不安全,通常不採用。若是須要詳情見網上鍊接:http://www.javashuo.com/article/p-eqneggfv-cd.html
二、本地用戶:
首先在linux中須要建立用戶,而後將建立的用戶添加到ftp服務器的白名單中,而後該用戶才能夠登陸ftp服務器。
默認用戶能夠登陸ftp,也能夠經過sftp登陸上去查看其它資源,可讓用戶只登陸ftp,不能經過sftp方式登陸服務器。
此用戶模式比匿名想對安全,須要限定ftp用戶不能經過sftp方式訪問22端口的服務器資源就更加安全了。
三、虛擬用戶:
就是不須要建立linux中實際帳號,只須要配置虛擬用戶、生成數據文件配置就行,詳情見網上鍊接:http://www.javashuo.com/article/p-eqneggfv-cd.html
四、禁止ftp用戶ssh登陸(安全問題能夠解決):
禁止ftp用戶ssh登陸:
查看/etc/shells文件,找到nologin的路徑
執行命令:
usermod -s /sbin/nologin 用戶名稱
解除ftp用戶ssh登陸禁止:
查看/etc/shells文件,找到bash的路徑
執行命令:
usermod -s /bin/bash 用戶名稱
10、修改vsftpd配置文件
一、匿名登陸:
容許:anonymous_enable=YES
不容許:anonymous_enable=NO
二、是否只顯示用戶路徑:
用戶只看到本身路徑:chroot_local_user=YES
用戶可查看其它路徑:chroot_local_user=NO
三、是否添加可查看其它目錄用戶名單:
不添加可查看其它目錄名單:chroot_list_enable=NO
添加能夠查看其它目錄名單:
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list(用戶名單文件)
四、只容許名單內用戶登陸:
userlist_enable=NO
五、被動模式添加配置信息:
connect_from_port_20=NO
pasv_enable=YES
pasv_min_port=3010(最小端口)
pasv_max_port=3015(最大端口)
pasv_address=公網IP地址(很是重要這個)
六、添加可登陸用戶白名單:
在user_list文件中添加用戶名,一行一個(此方式最方便,直接配置容許登陸的用戶帳號名稱便可)
七、添加可查看其它目錄用戶名單:
在chroot_list文件中添加用戶名,一行一個,若是沒有本身建立文件
八、權限配置:
local_umask=022(暫時不清楚爲何)
anon_umask=077(暫時不清楚爲何)
11、修改linux的防火牆端口
vim /etc/sysconfig/iptables
添加一行,修改須要開通的端口號:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
若是是ftp是被動模式,還須要開通最小到最大端口的訪問:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3010:3015 -j ACCEPT(例如:最小爲3010,最大爲3015端口)
重啓服務
service iptables restart
12、互聯網端口映射配置
一、ftp鏈接端口配置:
通常默認的就是21端口
二、ftp數據端口配置:
就是本身指定的最小端口、最大端口範圍內,包括最大、最小端口,逐個開通就行。
十3、ftp服務器增長新用戶步驟
一、建立用戶並指定默認路徑:
useradd -d /data/ftpFiles/lsyftp(指定home路徑)-m lsyftp(用戶名稱)
注意:用戶文件夾lsyftp不要本身建立,會自動建立,以避免由於文件夾權限問題出現異常。
二、修改用戶密碼:
passwd lsyftp(用戶名稱)
三、禁止ftp用戶ssh登陸:
查看/etc/shells文件,找到nologin的路徑
執行命令:
usermod -s /sbin/nologin 用戶名稱
說明:經過禁止ftp用戶進行ssh登陸,能夠儘可能保證安全性;
四、將新建立用戶添加到ftp白名單中
在/etc/vsftpd/user_list文件中添加用戶名,一行一個