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

相关文章
相关标签/搜索