linux中搭建公網ftp服務器

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文件中添加用戶名,一行一個

相關文章
相關標籤/搜索