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